操作系统的缓存淘汰
操作系统一是提供的基础编程接口,二是实现软件治理的功能。但是因为内存是有限的,想要在有限的内存多存储数据,就利用段、页、段页方式进行数据的映射。但是内存存储有限,所以如何将内存中不用的数据进行及时置换。选择什么样的置换策略。
我们知道缓存命中率 其实就是从缓存中查的次数/一共查询数据的次数。缓冲命中率越高,整体的利用率就越高,计算时间越短。
随机页面置换算法
随机置换,其实就是当发生缺页中断的时候,随机进行选取一个页置换,这种方式比较简单,但是对于命中率来说没有什么提升。所以一般不建议。
最优页面置换算法
从名字上来看,其实就是替换内存中最久没有访问的那个页面。比如首先进入7 0 1 ,当进入2的时候,因为7是之前最久没有被访问的页,所以替换7,而加载2。
这个算法缺点就是只能通过计算历史访问的次数,没有办法做到之后访问那些页。
FIFO算法
FIFO其实就是队列,先进来的,先出去,但是这不是一个很好的策略。
LRU算法
LRU则是通过最近最少使用的算法,来判断每个页最近使用的次数进行淘汰,在Redis中,其实也是使用LRU算法。