• 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

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

    强者自救 圣者渡人
  • 相关阅读:
    ssh-keygen Linux 免密登录
    hostnamectl 修改 CentOS7 主机名
    微信公众平台开发—24点游戏
    微信公众平台开发—起步
    java的静态代理和动态代理(jdk、cglib)
    UEditor上传图片到七牛云储存(java)
    第四十篇-private,public,protected的区别
    第七篇--ubuntu18.04下面特殊符号
    6. 计算器界面
    第六篇--Ubuntu画图软件
  • 原文地址:https://www.cnblogs.com/agilestyle/p/15654570.html
Copyright © 2020-2023  润新知