public interface OHCache<K,V> extends Closeable
| Modifier and Type | Method and Description |
|---|---|
boolean |
addOrReplace(K key,
V old,
V value)
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() |
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) |
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)
Adds the key/value.
|
void |
putAll(Map<? extends K,? extends V> m) |
boolean |
putIfAbsent(K k,
V v)
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)
boolean addOrReplace(K key, V old, V value)
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)
void remove(K key)
void clear()
boolean containsKey(K key)
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