Redis数据过期后是立即删除吗?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1579个文字,预计阅读时间需要7分钟。
码客,当`key`达到过期时间时,Redis会自动删除该键值对。先说结论,不会立即删除,Redis有两种删除过时数据的策略:
1. 定时删除:定期检查键是否过期,过期则删除。
2.惰性删除:键过期后,访问时才删除。
在Redis 2.4版本中,默认使用惰性删除策略。
码哥,当 key 达到过期时间,Redis 就会马上删除么?
先说结论,并不会立马删除,Redis 有两种删除过期数据的策略:
- 定期选取部分数据删除;
- 惰性删除;
该命令在 Redis 2.4 版本,过期时间并不是很精确,它可能在零到一秒之间。
从 Redis 2.6 开始,过期错误为 0 到 1 毫秒。
EXPIRE key seconds [ NX | XX | GT | LT] 指令可以将指定的 key 设置过期时间,如果没有设置过期时间, key 将一直存在,除非我们明确将其删除,比如执行 DEL 指令。
所谓”狡兔死,走狗烹“,没用了就干掉,跟 35 岁就“毕业”是一个道理。
好慌……
从 Redis 版本 7.0.0 开始:EXPIRE 添加了选项:NX、XX和GT、LT 选项。
本文共计1579个文字,预计阅读时间需要7分钟。
码客,当`key`达到过期时间时,Redis会自动删除该键值对。先说结论,不会立即删除,Redis有两种删除过时数据的策略:
1. 定时删除:定期检查键是否过期,过期则删除。
2.惰性删除:键过期后,访问时才删除。
在Redis 2.4版本中,默认使用惰性删除策略。
码哥,当 key 达到过期时间,Redis 就会马上删除么?
先说结论,并不会立马删除,Redis 有两种删除过期数据的策略:
- 定期选取部分数据删除;
- 惰性删除;
该命令在 Redis 2.4 版本,过期时间并不是很精确,它可能在零到一秒之间。
从 Redis 2.6 开始,过期错误为 0 到 1 毫秒。
EXPIRE key seconds [ NX | XX | GT | LT] 指令可以将指定的 key 设置过期时间,如果没有设置过期时间, key 将一直存在,除非我们明确将其删除,比如执行 DEL 指令。
所谓”狡兔死,走狗烹“,没用了就干掉,跟 35 岁就“毕业”是一个道理。
好慌……
从 Redis 版本 7.0.0 开始:EXPIRE 添加了选项:NX、XX和GT、LT 选项。

