Factory class for
LruEvictionPolicy
.
Creates cache Eviction policy based on
Least Recently Used (LRU)
algorithm and supports batch eviction.
The eviction starts in the following cases:
- The cache size becomes
batchSize
elements greater than the maximum size.
-
The size of cache entries in bytes becomes greater than the maximum memory size.
The size of cache entry calculates as sum of key size and value size.
Note:Batch eviction is enabled only if maximum memory limit isn't set (
maxMemSize == 0
).
batchSize
elements will be evicted in this case. The default
batchSize
value is
1
.
LruEvictionPolicy
implementation is very efficient since it is lock-free and does not create any additional table-like
data structures. The
LRU
ordering information is maintained by attaching ordering metadata to cache entries.