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  
LinuxClock Approximation of linux clock algorithm 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.