首页 > 其他 > 详细

三种缓存淘汰策略

时间:2019-01-29 23:55:00      阅读:258      评论:0      收藏:0      [点我收藏+]

1, FIFO

先进先出,底层是利用双向链表,新来的数据放到链表的尾部,如果链表塞满了就删除头部的。

 

2, LFU

最近最少使用算法。思路就是如果一个数据在最近一段时间内使用次数最少,那么将来一段时间使用的可能性也很少。

LFU 是基于访问次数的。

实现:两个HASHMAP, 一个是用来存储数据的, key-value. 一个是用来存储次数的, key-time. 

当访问一个key 的时候就在 key-time, 也就是的第二个hashmap 对应的time 加1.

删除的时候就寻找最少time 的那个。

 

3, LRU

least recently used

如果数据最近被访问过,那么将来访问的几率也很高。

实现:新增加的数据放到头部。每当缓存命中,就把数据放到尾部。删除的时候就删除尾部的数据

三种缓存淘汰策略

原文:https://www.cnblogs.com/vincentgwzhang/p/10336180.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!