• 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 后新增):淘汰使用频率最低的数据。

    如何配置:

    我们通过配置redis.conf中的maxmemory这个值来开启内存淘汰功能。 

    # maxmemory 

    值得注意的是,maxmemory为0的时候表示我们对Redis的内存使用没有限制。

    根据应用场景,选择淘汰策略

    # maxmemory-policy noeviction

    设置最大内存

    config set maxmemory 100000

    设置淘汰策略

    config set maxmemory-policy noeviction

     

  • 相关阅读:
    分布式中间件(五):RocketMQ 源码
    CodeTON Round 3 (Div. 1 + Div. 2, Rated, Prizes!)
    Linux进程概念
    flutter 消息并发时处理,递归查询
    图书出版如何做好软文营销
    mysql杂记漫谈
    CleanMyMac X4.11.1中文正式版 系统优化 垃圾清理 程序卸载工具
    Ceph 在Linux上的使用
    html2canvas快速使用
    ansible之template模块
  • 原文地址:https://blog.csdn.net/zlfjavahome/article/details/126347536