Package org.rocksdb
Class LRUCache
- java.lang.Object
-
- All Implemented Interfaces:
java.lang.AutoCloseable
public class LRUCache extends Cache
Least Recently Used Cache
-
-
Field Summary
-
Fields inherited from class org.rocksdb.RocksObject
nativeHandle_
-
Fields inherited from class org.rocksdb.AbstractImmutableNativeReference
owningHandle_
-
-
Constructor Summary
Constructors Constructor Description LRUCache(long capacity)Create a new cache with a fixed size capacityLRUCache(long capacity, int numShardBits)Create a new cache with a fixed size capacity.LRUCache(long capacity, int numShardBits, boolean strictCapacityLimit)Create a new cache with a fixed size capacity.LRUCache(long capacity, int numShardBits, boolean strictCapacityLimit, double highPriPoolRatio)Create a new cache with a fixed size capacity.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddisposeInternal(long handle)-
Methods inherited from class org.rocksdb.Cache
getPinnedUsage, getUsage
-
Methods inherited from class org.rocksdb.RocksObject
disposeInternal, getNativeHandle
-
Methods inherited from class org.rocksdb.AbstractImmutableNativeReference
close, disOwnNativeHandle, isOwningHandle
-
Methods inherited from class org.rocksdb.AbstractNativeReference
dispose, finalize
-
-
-
-
Constructor Detail
-
LRUCache
public LRUCache(long capacity)
Create a new cache with a fixed size capacity- Parameters:
capacity- The fixed size capacity of the cache
-
LRUCache
public LRUCache(long capacity, int numShardBits)Create a new cache with a fixed size capacity. The cache is sharded to 2^numShardBits shards, by hash of the key. The total capacity is divided and evenly assigned to each shard. numShardBits = -1 means it is automatically determined: every shard will be at least 512KB and number of shard bits will not exceed 6.- Parameters:
capacity- The fixed size capacity of the cachenumShardBits- The cache is sharded to 2^numShardBits shards, by hash of the key
-
LRUCache
public LRUCache(long capacity, int numShardBits, boolean strictCapacityLimit)Create a new cache with a fixed size capacity. The cache is sharded to 2^numShardBits shards, by hash of the key. The total capacity is divided and evenly assigned to each shard. If strictCapacityLimit is set, insert to the cache will fail when cache is full. numShardBits = -1 means it is automatically determined: every shard will be at least 512KB and number of shard bits will not exceed 6.- Parameters:
capacity- The fixed size capacity of the cachenumShardBits- The cache is sharded to 2^numShardBits shards, by hash of the keystrictCapacityLimit- insert to the cache will fail when cache is full
-
LRUCache
public LRUCache(long capacity, int numShardBits, boolean strictCapacityLimit, double highPriPoolRatio)Create a new cache with a fixed size capacity. The cache is sharded to 2^numShardBits shards, by hash of the key. The total capacity is divided and evenly assigned to each shard. If strictCapacityLimit is set, insert to the cache will fail when cache is full. User can also set percentage of the cache reserves for high priority entries via highPriPoolRatio. numShardBits = -1 means it is automatically determined: every shard will be at least 512KB and number of shard bits will not exceed 6.- Parameters:
capacity- The fixed size capacity of the cachenumShardBits- The cache is sharded to 2^numShardBits shards, by hash of the keystrictCapacityLimit- insert to the cache will fail when cache is fullhighPriPoolRatio- percentage of the cache reserves for high priority entries
-
-
Method Detail
-
disposeInternal
protected final void disposeInternal(long handle)
- Specified by:
disposeInternalin classRocksObject
-
-