互联网

宜人贷:LRU提高缓存命中率,是缓存系统的重要指标

来源:互联网    作者:      2022年06月22日 15:17

导语:

LRU即Least Recently Used的缩写,是一种页面置换算法。处于内存中但又不用的数据块,被人们叫做LRU。

在宜人贷看来,LRU与“最近使用的数据会在未来一段时期内仍然被使用,已经很久没有使用的数据大概率在未来很长一段时间仍然不会被使用”的思想高度契合,操作系统会根据提示将某些数据移出内存而腾出空间来加载另外的数据。如此,LRU可以解决很多实际开发中的问题,很多用户经常通过LRU的思想来做缓存,一般也将其称为LRU缓存机制。

通常来说,如果使用数组来实现一个基于LRU的缓存,按照LRU原理要求可以预知存在大量的拷贝操作,性能上可能无法满足。

宜人贷指出,可以设计一个LRU缓存,满足放入和移出的需求,把访问次序维护好,但是这个次序的维护并不需要在内存中真正排序来反应,这种操作可以为用户节约时间,提高效率。

LRU 算法的优势在于算法实现难度不大,对于热点数据问题,LRU 效率会更好。当然,LRU 算法也存在一定劣势。举例来说,LRU 算法对于偶发的批量操作,如批量查询历史数据,就有可能使缓存中热门数据被这些历史数据替换,造成缓存污染,导致缓存命中率下降。

基于当缓存容量溢满时,优先淘汰最近很少使用数据的准则,LRU拥有广泛的使用场景,其在Redis、Guava等工具中大展身手应用,甚至是核心的思想之一。

宜人贷认为,为了尽量减少与理想算法的差距,产生了各种精妙的算法。但LRU算法是一种最少使用页面置换的算法,实力出众,可大大提高读取效率。缓存命中率是缓存系统的重要指标,如果缓存系统的缓存命中率过低,将会导致查询回流到数据库,从而引发数据库的压力升高,因此LRU算法很有必要。


(文章为作者独立观点,不代表艾瑞网立场)
  • 合作伙伴

  • 官方微信
    官方微信

    新浪微博
    邮件订阅
    第一时间获取最新行业数据、研究成果、产业报告、活动峰会等信息。
     关于艾瑞| 业务体系| 加入艾瑞| 服务声明| 信息反馈| 联系我们| 合作伙伴| 友情链接

Copyright© 沪公网安备 31010402000581号沪ICP备15021772号-10

扫一扫,或长按识别二维码

关注艾瑞网官方微信公众号