*Redis PERSIST 命令
移除 key 的过期时间,使 key 永不过期。
*语法
PERSIST key
*参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| key | String | 是 | 键名 |
*返回值
| 条件 | 返回值 |
|---|---|
| 成功移除 TTL | 1 |
| key 不存在或无 TTL | 0 |
*时间复杂度
O(1)
*
*示例
> SET mykey "value" EX 60
OK
> TTL mykey
(integer) 58
> PERSIST mykey
(integer) 1
> TTL mykey
(integer) -1 # 永不过期
# key 不存在
> PERSIST nokey
(integer) 0
*常见错误
- key 不存在返回 0:不报错,需判断返回值。
*最佳实践
*FAQ
Q: PERSIST 和 EXPIRE 是相反操作吗? A: 是。PERSIST 移除 TTL;EXPIRE 设置 TTL。
Q: PERSIST 后 key 会被删除吗? A: 不会。PERSIST 后 key 永不过期,除非手动 DEL。