Package org.rocksdb

Class LRUCache

All Implemented Interfaces:
AutoCloseable

public class LRUCache extends Cache
Least Recently Used Cache
  • Constructor Details

    • 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 cache
      numShardBits - 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 cache
      numShardBits - The cache is sharded to 2^numShardBits shards, by hash of the key
      strictCapacityLimit - 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 cache
      numShardBits - The cache is sharded to 2^numShardBits shards, by hash of the key
      strictCapacityLimit - insert to the cache will fail when cache is full
      highPriPoolRatio - percentage of the cache reserves for high priority entries
    • LRUCache

      public LRUCache(long capacity, int numShardBits, boolean strictCapacityLimit, double highPriPoolRatio, double lowPriPoolRatio)
      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 and low priority entries via highPriPoolRatio and lowPriPoolRatio. 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 cache
      numShardBits - The cache is sharded to 2^numShardBits shards, by hash of the key
      strictCapacityLimit - insert to the cache will fail when cache is full
      highPriPoolRatio - percentage of the cache reserves for high priority entries
      lowPriPoolRatio - percentage of the cache reserves for low priority entries
  • Method Details