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() |
DirectValueAccess |
getDirect(K key)
Returns a closeable byte buffer.
|
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)
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.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
IOException
boolean serializeEntry(K key, WritableByteChannel channel) throws IOException
IOException
int deserializeEntries(ReadableByteChannel channel) throws IOException
IOException
int serializeHotNEntries(int n, WritableByteChannel channel) throws IOException
IOException
int serializeHotNKeys(int n, WritableByteChannel channel) throws IOException
IOException
CloseableIterator<K> deserializeKeys(ReadableByteChannel channel) throws IOException
IOException
void 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.
Copyright © 2014–2016 Robert Stupp, Koeln, Germany, robert-stupp.de. All rights reserved.