无论是哪一层次的缓存都面临一个同样的问题:当容量有限的缓存的空闲空间全部用完后,又有新的内容需要添加进缓存时,如何挑选并舍弃原有的部分内容,从而腾出空间放入这些新的内容。解决这个问题的算法有几种,如最近使用算法(LRU)、先进先出算法(FIFO)、最近最少使用算法(LFU)、非最近使用算法(NMRU)等,这些算法在不同层次的缓存上执行时拥有不同的效率和代价,需根据具体场合选择最合适的一种。
最近使用算法, 顾名思义,可以将其理解为如果数据最近被访问过,那么将来被访问的几率也很高。它的实现有多种方式,比如LRU、LRU-K、Two queues、Mutiple queues等。
LRU
LRU-K
Two queues
Mutiple queues
LRU 延伸阅读 ssh框架 2016-09-30 阿里移动安全 [无线安全]玩转无线电——不安全的蓝牙锁 2017-07-26 消息队列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26 Selective Search for Object Recognition 论文笔记【图片目标分割】 2017-07-26 词向量-LRWE模型-更好地识别反义词同义词 2017-07-26 从栈不平衡问题 理解 calling convention 2017-07-26 php imagemagick 处理 图片剪切、压缩、合并、插入文本、背景色透明 2017-07-26 Swift实现JSON转Model - HandyJSON使用讲解 2017-07-26 阿里移动安全 Android端恶意锁屏勒索应用分析 2017-07-26 集合结合数据结构来看看(二) 2017-07-26 学习是年轻人改变自己的最好方式