*Redis GETDEL 命令
获取 key 的值并立即删除它。Redis 6.2+ 引入。
*语法
GETDEL key
*参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| key | String | 是 | 键名 |
*返回值
| 条件 | 返回值 |
|---|---|
| key 存在 | 值(String) |
| key 不存在 | nil |
*时间复杂度
O(1)
*
*示例
> SET mykey "value"
OK
> GETDEL mykey
"value"
> GET mykey
(nil)
*常见错误
- 对非 String 使用:返回 WRONGTYPE。
*最佳实践
- 原子取出并删除:需要获取 value 后立即使其失效的场景,如一次性令牌验证。
*FAQ
Q: GETDEL 和 GET + DEL 有什么区别? A: GETDEL 是原子操作,获取和删除在一个命令中完成;GET + DEL 非原子,中间可能有其他客户端操作。