所以 , Redis中的LRU算法是这样实现的:首先定义一个淘汰池 , 这个淘汰池是一个数组(大小为16) , 然后触发淘汰时会根据配置的淘汰策略 , 先从符合条件的key中随机采样选出5(可在配置文件中配置)个key , 然后将这5个key按照空闲时间排序后放到淘汰池中 , 每次采样之后更新这个淘汰池 , 让这个淘汰池里保留的总是那些随机采样出的key中空闲时间最长的那部分key 。 需要删除key时 , 只需将淘汰池中空闲时间最长的key删掉即可 。
为了方便理解它的思想 , 我画了一个图:
Redis内存淘汰策略的配置学习了这8种内存淘汰策略之后 , Redis要什么时候会触发执行这些淘汰策略呢?又要怎么指定使用哪一种淘汰策略呢?这就要去Redis的配置文件中进行配置了
- 配置redis最大内存
当数据内存达到 maxmemory 时 , 便会触发redis的内存淘汰策略 。 该参数通常设定为其物理内存的四分之三 。
- 配置redis淘汰策略
- 配置最大采样数量
到这里相信我们已经熟练掌握了Redis的内存淘汰策略以及如何配置使用Redis的内存淘汰策略 , 后续文章会继续针对Redis这一中间件的知识做一系列的学习 。 如果想要了解更多Redis的知识 , 可以查看我的历史文章 。
点关注不迷路 , 跟我一起学技术!
- 互联互通|哪些无人机适合新手使用?从普宙O2到大疆Mini 3 Pro,一文读懂
- 删除|拼多多商品转化率低有什么影响?多少正常?
- 以太坊|以太坊合并一文读懂POW转POS
- 删除|曾经的苹果iPhone高攀不起,现在对比国产机,反成性价比?
- 流氓软件|还在被流氓软件骚扰?一文教你如何用鸿蒙系统彻底根除
- 电子商务|一文了解互联网巨头在人工智能行业的布局(上)
- 删除|国产手机,靠前缀装饰而来的冠军,能否捍卫尊严?
- 删除|Excel工作表之行、列、单元格(一)
- 删除|一体机渐成趋势,宏碁联想两款酷睿12机型降价,最低3999元
- 从读懂每一次心跳开始,创新不止的华为运动健康业务
