Redis 缓存淘汰策略

Redis 缓存淘汰策略

1. redis 缓存淘汰策略分为两类, allkeys 和 volatile:

  • allkeys 代表所有 key 参与淘汰
  • volatile 表示只有设置过期时间的 key 参与淘汰

2. 具体策略:

其中lru 后缀代表最近最少使用原则, lfu 代表最少使用, random 代表随机

  • volatile-lru -> Evict using approximated LRU, only keys with an expire set.

  • allkeys-lru -> Evict any key using approximated LRU.

  • volatile-lfu -> Evict using approximated LFU, only keys with an expire set.

  • allkeys-lfu -> Evict any key using approximated LFU.

  • volatile-random -> Remove a random key having an expire set.

  • allkeys-random -> Remove a random key, any key.

  • volatile-ttl -> Remove the key with the nearest expire time (minor TTL)

  • noeviction -> Don't evict anything, just return an error on write operations.(默认)

3. 配置

修改 redis 配置文件

# 以 volatile-lru 举例
maxmemory-policy volatile-lru

4. 主从模式

在主从模式下,从库会忽略自己的淘汰策略, 默认同步主库的 key,如需配置需要额外修改

replica-ignore-maxmemory no
posted @ 2022-02-19 17:00  那个吧..你懂的!  阅读(74)  评论(0编辑  收藏  举报