public interface OHCache<K,V> extends Closeable
| Modifier and Type | Method and Description |
|---|---|
boolean |
addOrReplace(K key,
V old,
V value)
Same as
addOrReplace(Object, Object, Object, long) but uses the configured default TTL, if any. |
boolean |
addOrReplace(K key,
V old,
V value,
long expireAt)
Adds key/value if either the key is not present or the existing value matches parameter
old. |
long |
capacity() |
void |
clear() |
boolean |
containsKey(K key) |
int |
deserializeEntries(ReadableByteChannel channel) |
boolean |
deserializeEntry(ReadableByteChannel channel) |
CloseableIterator<K> |
deserializeKeys(ReadableByteChannel channel) |
long |
freeCapacity() |
V |
get(K key) |
EstimatedHistogram |
getBucketHistogram() |
DirectValueAccess |
getDirect(K key)
Returns a closeable byte buffer.
|
DirectValueAccess |
getDirect(K key,
boolean updateLRU)
|
V |
getWithLoader(K key,
CacheLoader<K,V> loader) |
V |
getWithLoader(K key,
CacheLoader<K,V> loader,
long timeout,
TimeUnit unit) |
Future<V> |
getWithLoaderAsync(K key,
CacheLoader<K,V> loader) |
Future<V> |
getWithLoaderAsync(K key,
CacheLoader<K,V> loader,
long expireAt) |
int[] |
hashTableSizes() |
CloseableIterator<ByteBuffer> |
hotKeyBufferIterator(int n)
Builds an iterator over all keys returning direct byte buffers.
|
CloseableIterator<K> |
hotKeyIterator(int n)
Builds an iterator over the N most recently used keys returning deserialized objects.
|
CloseableIterator<ByteBuffer> |
keyBufferIterator()
Builds an iterator over all keys returning direct byte buffers.
|
CloseableIterator<K> |
keyIterator()
Builds an iterator over all keys returning deserialized objects.
|
float |
loadFactor() |
long |
memUsed() |
long[] |
perSegmentSizes() |
void |
put(K key,
V value)
Same as
put(Object, Object, long) but uses the configured default TTL, if any. |
void |
put(K key,
V value,
long expireAt)
Adds the key/value.
|
void |
putAll(Map<? extends K,? extends V> m) |
boolean |
putIfAbsent(K k,
V v)
Same as
putIfAbsent(Object, Object, long) but uses the configured default TTL, if any. |
boolean |
putIfAbsent(K key,
V value,
long expireAt)
Adds the key/value if the key is not present.
|
void |
remove(K key) |
void |
removeAll(Iterable<K> keys) |
void |
resetStatistics() |
int |
segments() |
boolean |
serializeEntry(K key,
WritableByteChannel channel) |
int |
serializeHotNEntries(int n,
WritableByteChannel channel) |
int |
serializeHotNKeys(int n,
WritableByteChannel channel) |
void |
setCapacity(long capacity)
Modify the cache's capacity.
|
long |
size() |
OHCacheStats |
stats() |
void put(K key, V value)
put(Object, Object, long) but uses the configured default TTL, if any.void put(K key, V value, long expireAt)
boolean addOrReplace(K key, V old, V value)
addOrReplace(Object, Object, Object, long) but uses the configured default TTL, if any.boolean addOrReplace(K key, V old, V value, long expireAt)
old.
If the entry size of key/value exceeds the configured maximum entry length, the old value is removed.boolean putIfAbsent(K k, V v)
putIfAbsent(Object, Object, long) but uses the configured default TTL, if any.boolean putIfAbsent(K key, V value, long expireAt)
void remove(K key)
void clear()
boolean containsKey(K key)
DirectValueAccess getDirect(K key)
DirectValueAccess instance after use.
After closing, you must not call any of the methods of the ByteBuffer
returned by DirectValueAccess.buffer().null if key does not exist.DirectValueAccess getDirect(K key, boolean updateLRU)
null if key does not exist.V getWithLoader(K key, CacheLoader<K,V> loader) throws InterruptedException, ExecutionException
V getWithLoader(K key, CacheLoader<K,V> loader, long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException
CloseableIterator<K> hotKeyIterator(int n)
close() on the returned iterator.
Note: During a rehash, the implementation might return keys twice or not at all.
CloseableIterator<K> keyIterator()
close() on the returned iterator.
Note: During a rehash, the implementation might return keys twice or not at all.
CloseableIterator<ByteBuffer> hotKeyBufferIterator(int n)
ByteBuffer after calling any method on the iterator.
You must call close() on the returned iterator.
Note: During a rehash, the implementation might return keys twice or not at all.
CloseableIterator<ByteBuffer> keyBufferIterator()
ByteBuffer after calling any method on the iterator.
You must call close() on the returned iterator.
Note: During a rehash, the implementation might return keys twice or not at all.
boolean deserializeEntry(ReadableByteChannel channel) throws IOException
IOExceptionboolean serializeEntry(K key, WritableByteChannel channel) throws IOException
IOExceptionint deserializeEntries(ReadableByteChannel channel) throws IOException
IOExceptionint serializeHotNEntries(int n,
WritableByteChannel channel)
throws IOException
IOExceptionint serializeHotNKeys(int n,
WritableByteChannel channel)
throws IOException
IOExceptionCloseableIterator<K> deserializeKeys(ReadableByteChannel channel) throws IOException
IOExceptionvoid resetStatistics()
long size()
int[] hashTableSizes()
long[] perSegmentSizes()
EstimatedHistogram getBucketHistogram()
int segments()
long capacity()
long memUsed()
long freeCapacity()
float loadFactor()
OHCacheStats stats()
void setCapacity(long capacity)
Future operations will even allocate in flight, temporary memory - i.e. setting capacity to 0 does not disable the cache, it will continue to work but cannot add more data.
© 2014 Robert Stupp, Koeln, Germany, robert-stupp.de - licensed under Apache License, Version 2 - Homepage