什么是LRU
LRU 全称是 Least Recently Used(最近最少使用),是一种经典的缓存淘汰策略和页面置换算法,核心逻辑是 “优先淘汰最久未被访问的数据”,因为它默认 “最近被访问过的数据,未来被访问的概率更高”。在操作系统的页面置换、redis的淘汰策略中均使用到了LRU。
LRU的实现
比较经典的为双向链表+哈希表实现。
双向链表中的每一个节点存储着一个键值对,同时每个节点都有前向指针和后向指针,同时在双向链表的前后分别有一个头节点和尾节点,在双向链表变更期间,这两个位置是雷打不动的。
大约 3 分钟
