• redis淘汰策略


    Redis提供了5种数据淘汰策略: 

    • volatile-lru:使用LRU算法进行数据淘汰(淘汰上次使用时间最早的,且使用次数最少的key),只淘汰设定了有效期的key

    • allkeys-lru:使用LRU算法进行数据淘汰,所有的key都可以被淘汰

    • volatile-random:随机淘汰数据,只淘汰设定了有效期的key

    • allkeys-random:随机淘汰数据,所有的key都可以被淘汰

    • volatile-ttl:淘汰剩余有效期最短的key

            最好为Redis指定一种有效的数据淘汰策略以配合maxmemory设置,避免在内存使用满后发生写入失败的情况。

            一般来说,推荐使用的策略是volatile-lru,并辨识Redis中保存的数据的重要性。对于那些重要的,绝对不能丢弃的数据(如配置类数据等),应不设置有效期,这样Redis就永远不会淘汰这些数据。对于那些相对不是那么重要的,并且能够热加载的数据(比如缓存最近登录的用户信息,当在Redis中找不到时,程序会去DB中读取),可以设置上有效期,这样在内存不够时Redis就会淘汰这部分数据。

    配置方法:

    1.在线更新配置 /apps/svr/redis/bin/redis-cli -p 6921 config set maxmemory-policy volatile-lru 
    2.修改配置文件 maxmemory-policy volatile-lru   #默认是noeviction,即不进行数据淘汰

    我们使用的:

    # /apps/svr/redis/bin/redis-cli -p 6921 config get maxmemory-policy
    1) "maxmemory-policy"
    2) "noeviction"

    不进行淘汰: noevition: 不会剔除任何数据,拒绝所有写入操作并返回客户端错误信息,此时,Redis只响应读操作

  • 相关阅读:
    USACO 3.3.1 Riding the Fences 骑马修栅栏(欧拉回路)
    USACO 3.2.6 Sweet Butter 香甜的黄油(最短路)
    USACO 1.3.4 Prime Cryptarithm 牛式(模拟枚举)
    USACO 1.3.3 Calf Flac(Manacher算法)
    USACO 1.2.2 Transformations 方块转换
    小希的迷宫(并查集判环)
    Is It A Tree?(并查集)
    Manacher算法——求最长回文子串
    Live Love(思维)
    Longge's problem(欧拉函数应用)
  • 原文地址:https://www.cnblogs.com/cuiqq/p/11865631.html
Copyright © 2020-2023  润新知