Algorithms — mimircache 0.0.2.69 documentation

# 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.