Enum RocksDBBlockCacheImplementations
- java.lang.Object
-
- java.lang.Enum<RocksDBBlockCacheImplementations>
-
- com.linkedin.davinci.store.rocksdb.RocksDBBlockCacheImplementations
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Comparable<RocksDBBlockCacheImplementations>
public enum RocksDBBlockCacheImplementations extends java.lang.Enum<RocksDBBlockCacheImplementations>
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static RocksDBBlockCacheImplementations
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.static RocksDBBlockCacheImplementations[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
CLOCK
public static final RocksDBBlockCacheImplementations CLOCK
ClockCache implements the CLOCK algorithm. Each shard of the clock cache maintains a circular list of cache entries. A clock handle runs over the circular list looking for unpinned entries to evict, but also giving each entry a second chance to stay in cache if it has been used since last scan. The benefit over LRUCache is it has finer-granularity locking. In case of LRU cache, the per-shard mutex has to be locked even on lookup, since it needs to update its LRU-list. Looking up from a clock cache won't require locking per-shard mutex, but only looking up the concurrent hash map, which has fine-granularity locking. Only inserts needs to lock the per-shard mutex.
-
LRU
public static final RocksDBBlockCacheImplementations LRU
Each shard of the cache maintains its own LRU list and its own hash table for lookup. Synchronization is done via a per-shard mutex. Both lookup and insert to the cache would require a locking mutex of the shard.
-
-
Method Detail
-
values
public static RocksDBBlockCacheImplementations[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (RocksDBBlockCacheImplementations c : RocksDBBlockCacheImplementations.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static RocksDBBlockCacheImplementations valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
java.lang.IllegalArgumentException
- if this enum type has no constant with the specified namejava.lang.NullPointerException
- if the argument is null
-
-