过期回收策略
Redis 可以通过 expire 命令设置 key 的过期时间。超过时间后,该 key 会自动失效。
Redis 如何淘汰过期 key
1、当客户端尝试读取一个已经过期的 key 时,会触发 Redis 删除该 key。
2、但有的过期 key 可能永远都不会被访问,所以,仅仅靠第一点是不够的,Redis 会定期随机测试设置 key 的过期时间。过期的 key 会被删除。
redis 会每秒执行 10 次测试:随机 20 个 key 进行过期检测,删除所有已经过期的 key,如果有多于 25% 的 key 过期,重复执行,直到过期的 key 比例低于 25%。
slave 如何处理过期 key
当一个key过期,master 会给 slave 合成一个 DEL 同步命令,slave 不会独立过期 key,而是等待 master 的 DEL 命令。
网友评论