条件刷新
条件刷新
SET k v
EXPIRE k 60 NX # 仅当还没有 TTL 时设置
EXPIRE k 120 XX # 仅当已有 TTL 时更新
EXPIRE k 30 GT # 仅当新 TTL 更大才更新(永久键视为无限大 -> 不生效)
EXPIRE k 30 LT # 仅当新 TTL 更小才更新(永久键 -> 生效)
TTL k # 剩余秒数
EXPIRETIME k # 绝对过期时间(秒级时间戳,7.0)
PEXPIRETIME k # 毫秒级绝对时间| NX | 无 TTL 才设置 |
|---|---|
| XX | 有 TTL 才更新 |
| GT | 新 TTL 大于当前才更新;永久键永不满足 |
| LT | 新 TTL 小于当前才更新;永久键视为无限大,总满足 |
「续期不动别人的短 TTL」用 GT;「临时降级不拉长」用 LT;两个都能防止 TTL 刷新逻辑互相踩。