比如内存里一个页面缓存队列 A B C D E
第一种情况当加入 F 时,淘汰 A
第二种情况当加入 C 时,应该是把 C 放到队尾,也就是 A B D E C
但是又看到另外一种做法,维护的是一个淘汰队列,比如也是 A B C D E
然后当 C 再被访问的时候,直接把 C 删除,变成 A B D E
突然有点晕,这两种做法本质是一样的吗
比如内存里一个页面缓存队列 A B C D E
第一种情况当加入 F 时,淘汰 A
第二种情况当加入 C 时,应该是把 C 放到队尾,也就是 A B D E C
但是又看到另外一种做法,维护的是一个淘汰队列,比如也是 A B C D E
然后当 C 再被访问的时候,直接把 C 删除,变成 A B D E
突然有点晕,这两种做法本质是一样的吗
|
ysc3839Dec 15, 2020 via Android
1
我觉得不可能一样吧?把 C 的缓存删了,下次访问不就又要重新读取了吗?
|
|
hanxiV2EXDec 15, 2020 via Android
2
你可能是看漏了什么,应该是把 C 删除,然后把 C 推到队列尾部
|
|
mxalbert1996Dec 16, 2020 via Android
3
你看错了吧,把 C 删除难道你永远都不淘汰 C 么?
|
|
4
|