zoukankan      html  css  js  c++  java
  • Redis 过期策略 和 淘汰策略

    原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/15654570.html

    过期策略

    定时删除

    在设置 key 的过期时间的同时,创建一个定时器,让定时器在 key 的过期时间来临时,立即执行对 key 的删除操作。

    惰性删除

    适用于 很多的 key 可能会到了过期时间还没有进行删除的情况。

    放任 key 过期不管,但是每次从键空间中获取 key 时,都检查取得的 key 是否过期,如果过期的话,就删除该 key;如果没有过期,就返回该 key 。

    定期删除

    每隔一段时间程序就对数据库进行一次检查,删除里面的过期的 key 。至于要删除多少过期的 key ,以及要检查多少个数据库,则由算法决定。

    回收策略

    使用策略规则:

    • 如果数据呈现幂律分布,也就是一部分数据访问频率高,一部分数据访问频率低,则使用 allkeys-lru
    • 如果数据呈现平等分布,也就是所有的数据访问频率都相同,则使用 allkeys-random

    allkeys-lru

    当内存不足以容纳新写入数据时,在键空间中,移除最近最少使用的 key

    allkeys-random

    当内存不足以容纳新写入数据时,在键空间中,随机移除某个 key

    volatile-lru

    当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,移除最近最少使用的 key

    volatile-ttl

    当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,有更早过期时间的 key 优先移除

    volatile-random

    当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,随机移除某个 key

    no-eviction

    当内存不足以容纳新写入数据时,新写入操作会报错

    强者自救 圣者渡人
  • 相关阅读:
    C语言II博客作业02
    C语言II博客作业01
    C语言II博客作业04
    C语言II博客作业03
    C语言II博客作业02
    C语言II博客作业01
    C语言||博客作业04
    C语言II博客作业04
    C语言II博客作业03
    C语言II博客作业02
  • 原文地址:https://www.cnblogs.com/agilestyle/p/15654570.html
Copyright © 2011-2022 走看看