缓存是有限的,在缓存满的时候,删除哪些元素,就有不同的缓存策略。
LRU (Least Recently Used)缓存机制:
- 在缓存满的时候,删除缓存里最久未使用的数据,然后在缓存中放入新元素;
- 数据的访问时间很重要,访问时间距离现在最近,就最不容易被删除;
就是喜新厌旧,淘汰在缓存里呆的时间最久的元素。
「力扣」第 146 题:LRU缓存机制
题解:哈希表 + 双向链表(Java)
LFU (Least Frequently Used,最不经常使用)缓存机制
- 在缓存满的时候,删除缓存里使用次数最少的元素,然后在缓存中放入新元素;
- 数据的访问次数很重要,访问次数越多,就最不容易被删除;
「力扣」第 460 题:LFU缓存机制
题解:哈希表 + 双向链表(Java)