Redis key过期的方式有三种:被动删除:当读/写一个已经过期的key时,会触发惰性删除策略,直接删除掉这个过期key。主动删除:由于惰性删除策略无法保证冷数据被及时删掉,所以Redis会定期主动淘汰一批已过期的key。当前已用内存超过maxmemory限定时,触发主动清理策略。被动删除有点不清楚,打个比方:一个set会记录哪些用户参与了活动,设置这个key的过期时间是一个小时,假设现在这个set有10个元素;那么当临界点时,有用户参与了,要sadd数据了,redis是会先去检查当前key的有效期,检查出来是0,会删除这个key,然后再sadd,再设置过期时间一个小时,此时这个set有1个元素是这样理解的吗?
添加回答
举报
0/150
提交
取消