写点什么

redis 缓存过期与淘汰

  • 2022 年 9 月 11 日
    广东
  • 本文字数:406 字

    阅读完需:约 1 分钟

redis maxmemory 不设置时默认与物理内存相同,作为 DB 时可以禁止驱逐淘汰;


redis 作为缓存时可以设置 maxmemory 大小,一般留出 1G 左右作为系统的运行,剩余的物理地址则都可以作为 redis 的内存大小。


删除策略


定时删除


在创建key 的过期时间时,创建并启动一个定时器,在键过期的时候执行删除对应的key。
复制代码


惰性删除


当访问key时发现key已经失效则删除key,一般有get,keys等
复制代码


主动删除


在redis.conf配置中可以配置对应的删除策略,默认是no-enviction(不删除)
maxmemory-policy allkeys-lru
复制代码


LRU 最近最少使用,算法根据 key 的历史使用记录来淘汰数据;


分为:volatile-lru 从已色湖之过期的数据集中挑选最近最少使用的数据淘汰;


   allkeys-lru:从所有的数据集中挑选最近最少使用的淘汰;
复制代码


LFU 最不经常使用,挑选最近一段时间内使用次数最少的淘汰


分为


volatile-lfu 与 allkeys-lfu


随机


分为 volatile-random 与 allkeys-random


ttl


volatile-ttl:从已设置过期时间的数据集中挑选数据淘汰。

用户头像

还未添加个人签名 2020.06.05 加入

还未添加个人简介

评论

发布
暂无评论
redis 缓存过期与淘汰_redis 淘汰策略_InfoQ_48703db93d9b_InfoQ写作社区