关于Redis过期键删除策略

Redis key过期的方式有三种:

被动删除:当读/写一个已经过期的key时,会触发惰性删除策略,直接删除掉这个过期key。

主动删除:由于惰性删除策略无法保证冷数据被及时删掉,所以Redis会定期主动淘汰一批已过期的key。

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

被动删除有点不清楚,打个比方:

一个set会记录哪些用户参与了活动,设置这个key的过期时间是一个小时,假设现在这个set有10个元素;
那么当临界点时,有用户参与了,要sadd数据了,redis是会先去检查当前key的有效期,检查出来是0,会删除这个key,然后再sadd,再设置过期时间一个小时,此时这个set有1个元素

是这样理解的吗?

阅读 2.4k
1 个回答

肯定删除再sadd啊
不然逻辑就不对了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题