Redis 淘汰策略

Redis服务的内存被占满时,会对内存的数据进行清理。Redis 4.0 之前一共实现了 6 种内存淘汰策略,在 4.0 之后,又增加了 2 种策略。具体的策略如下:

  1. 不进行数据淘汰

    • no-enviction(默认的策略):当内存用完之后,写数据会报错,读不受影响。
  2. 针对已设置过期时间的数据集中:

    • volatile-lru:从已设置过期时间的数据集中,淘汰最近最少使用的数据。
    • volatile-ttl:从已设置过期时间的数据集中,淘汰最早会过期的数据。
    • volatile-random:从已设置过期时间的数据集中,随机淘汰数据。
    • volatile-lfu(Redis 4.0 后新增):从已设置过期时间的数据集中,淘汰使用频率最低的数据。
  3. 针对所有的数据集:

    • allkeys-lru:淘汰最近最少使用的数据。
    • allkeys-random:随机淘汰数据。
    • allkeys-lfu(Redis 4.0 后新增):淘汰使用频率最低的数据。
posted @ 2022-06-21 23:51  weidadong  阅读(286)  评论(0)    收藏  举报