AlgorithmsΒΆ

algorithm description cache_params implemented version Other
LRU Least recent used None C and Python  
Optimal Optimal None C and Python  
FIFO First in first out None C and Python  
LFU Least frequently used None C  
LFU_Fast A faster implementation of least frequently used None C  
LRU_2 LRU on the second to the most recent timestamp None C  
LRU_K LRU on the Kth to the most recent timestamp {“K”: K} C  
SLRU segmented LRU with different number of user-specified segments {“N_segments”: N} C  
MRU Most recent used None C and Python  
Random Random evict element None C and Python  
clock Second chance algorithm, when evicting, if the element that current clock hand points to has value 1, set to 0, giving it a second chance, otherwise, evict it. None Python  
AdaptiveSLRU Similar to ARC, but use two LRU segments instead of one LRU and one LFU None Python  
SLRU Segmented LRU with N segments {“N”:N} Python  
S4LRU Segmented LRU with four segments None Python  
LFU_RR Least frequent used, when there are more than one with same least frequency, random select one None Python  
LFU_MRU Least frequent used, when there are more than one with same least frequency, select most recent one None Python  
         

Please notice that when passing cache_params, all parameters are stored in a dictionary.