缓存掷中率是什么?因此就引入LRU链表来判断哪些缓存页是不常用的。Least Recently Used,最近最少使用。整体思想就是,链表头部的节点是最近使用的,而链表末尾的节点是最久没被使用的。那么,当空间不敷了,就淘汰最久没被使用的节点,从而腾出空间。
假设现在有两个缓存页,一个缓存页的数据,常常会被修改和查询,比如在100次请求中,有30次都是在查询和修改这个缓存页里的数据。那么此时我们可以说这种环境下,缓存掷中率很高,为什么呢?由于100次请求中,30次都可以操作缓存,不需要从磁盘加载数据,这个缓存掷中率就比较高了。
另外一个缓存页里的数据,就是刚从磁盘加载到缓存页之后,被修改和查询过1次,之后100次请求中没有一次是修改和查询这个缓存页的数据的,那么此时我们就说缓存掷中率有点低,由于大部分请求可能还需要走磁盘查询数据,他们要操作的数据不在缓存中。
所以针对上述两个缓存页,当缓存页都满了的时候,第一个缓存页掷中率很高,因此肯定是选择将第二个缓存页刷入磁盘中,从而开释缓存页。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |