在软件中实现LRU缓存替换算法的通常推荐方法是将缓存项按访问顺序存储在双向链接列表中。如果我们假设最近使用的元素存储在头部位置,而最近使用的元素存储在尾部,则当我们填满缓存时,我们通过逐出tail元素为新元素腾出空间。
是否有比上述技术更有效的方法来实现MRU缓存替换算法,而不是赶出head元素而将tail元素逐出?
在软件中实现LRU缓存替换算法的通常推荐方法是将缓存项按访问顺序存储在双向链接列表中。如果我们假设最近使用的元素存储在头部位置,而最近使用的元素存储在尾部,则当我们填满缓存时,我们通过逐出tail元素为新元素腾出空间。
是否有比上述技术更有效的方法来实现MRU缓存替换算法,而不是赶出head元素而将tail元素逐出?