首页/数据/数据库速查/TTL / PTTL / PERSIST 查询与移除过期
本包目录(495 条)
MySQL 基础与连接36 条SQL 语法52 条用户与权限21 条备份与恢复56 条主从复制与高可用53 条性能与调优57 条
Redis 命令96 条
Redis 运维与场景124 条

TTL / PTTL / PERSIST 查询与移除过期

TTL 返回剩余秒数:-1 表示键存在但无过期、-2 表示键不存在;PERSIST 移除过期让键永久保存。

数据库速查数据更新于 2026-10-12

示例

示例
SET a v              # 无过期
TTL a                # -1
SET b v EX 100
TTL b                # 100
TTL missing          # -2
PERSIST b            # 1:移除过期
TTL b                # -1
PERSIST a            # 0(本来就没有过期)
-1键存在,无过期时间
-2键不存在
>=0剩余秒数
PTTL毫秒版;PTTL -1/-2 语义相同
TTL 是近似值不是倒计时契约:惰性删除+定期删除决定了键在过期后可能短暂仍存在,不能用作精确调度。

易错点

  • 把 -1 当「键不存在」:-1 是无过期,-2 才是不存在,写反逻辑就错
  • 依赖 TTL 到 0 的精确时刻做业务动作:过期是惰性的,任务要另设调度

数据来源与参考

  • Redis 官方文档: TTL
  • Redis 官方文档: PERSIST

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌