求简明解释LIRS算法。

这几天学习缓存淘汰算法,对于LIRS的流程有点迷糊,看了两篇博客,太多东西没写到位,所以也没什么改善。这里希望能得到指点,基本原理我明白,LIR和HIR也懂,主要问题集中在下面这些:
1.HIR分为常驻缓存和非常驻缓存,这个怎么理解,非常驻缓存的HIR是不是永远是最先被淘汰的,又怎么去判断一个HIR是常驻缓存还是非常驻缓存呢?
2.当需要替换的时候,需要遍历出一个最大的IRR出来吗?如果不是,是怎样确定如何替换的?
基本上就是在这两点上拗不过来,请大神进行指点,最好也可以举个例子简明地阐述一下完全流程,十分感谢!

现在把两篇博客的地址贴出来,简书那篇还可以,CSDN简直是被抄了无数份的,我随机选一份贴出来。吐槽一下,现在我们的中文技术博客真是天下IT是一家你抄我来我抄他。
简书:http://www.jianshu.com/p/036f82975f81
CSDN:http://blog.csdn.net/hs794502825/article/details/9056625

  • android框架的Picasso缓存问题
  • mysql memory存储引擎
  • C++一直超时,如何优化
  • 如何将一个页面缓存一天,服务器该如何设置?
  • 如何获取数组对应键的值
  • 做页面的html缓存,如何解决整张页面中一小块动态数据的问题
  • 如何通过spring interceptor实现ehcache page cache
  • 删除了浏览器中的所有cookie,个人偏好的设置内容会被删除吗
  • 为什么 ELF 格式文件的 e_entry 会和它本身的 VMA 不一样?
  • 去除有序列表中的重复元素
  • 关于迭代list中元素是否满足某一条件的问题