验证码校验流程
验证码校验流程
SET sms:login:13900000000 888888 EX 300
# 校验通过后原子取出并删除,防重放
GETDEL sms:login:13900000000 # "888888",同时键删除
GET sms:login:13900000000 # (nil)
# 滑动续期:读的同时延长
GETEX session:web:u88 EX 1800| GETDEL | 返回旧值并删除(原子) |
|---|---|
| GETEX | 返回旧值并更新过期时间/取消过期 |
| 替代 | GET+DEL 两条命令有竞态窗口 |
GETDEL 与 Lua 脚本里的 GET+DEL 等价;客户端库版本旧没有 GETDEL 时可用 Lua 或事务替代。