Eviction policy based on First In First Out (FIFO) algorithm with batch eviction support.
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.
This implementation is very efficient since it does not create any additional table-like data structures. The FIFO ordering information is maintained by attaching ordering metadata to cache entries.
public class FifoEvictionPolicy : EvictionPolicyBase, IEvictionPolicy