李成笔记网

专注域名、站长SEO知识分享与实战技巧

「每日一题」Redis Key没设置过期时间为什么被Redis主动删除了

当Redis已用内存超过maxmemory限定时,触发主动清理策略。

主动清理策略在Redis 4.0之前一共实现了 6 种内存淘汰策略,在 4.0 之后,又增加了 2 种

策略,总共8种:

a) 针对设置了过期时间的key做处理:

1. volatile-ttl:在筛选时,会针对设置了过期时间的键值对,根据过期时间的先后进行删除,越早过期的越先被删除。

2. volatile-random:就像它的名称一样,在设置了过期时间的键值对中,进行随机删除。

3. volatile-lru:会使用 LRU 算法筛选设置了过期时间的键值对删除。

4. volatile-lfu:会使用 LFU 算法筛选设置了过期时间的键值对删除。

b) 针对所有的key做处理:

5. allkeys-random:从所有键值对中随机选择并删除数据。

6. allkeys-lru:使用 LRU 算法在所有数据中进行筛选删除。

7. allkeys-lfu:使用 LFU 算法在所有数据中进行筛选删除。

c) 不处理:

8. noeviction:不会剔除任何数据,拒绝所有写入操作并返回客户端错误信息"(error) OOM command not allowed when used memory",此时Redis只响应读操作

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言