*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)

*常见错误

  1. 对非 String 使用:返回 WRONGTYPE。

*最佳实践

  1. 原子取出并删除:需要获取 value 后立即使其失效的场景,如一次性令牌验证。

*FAQ

Q: GETDEL 和 GET + DEL 有什么区别? A: GETDEL 是原子操作,获取和删除在一个命令中完成;GET + DEL 非原子,中间可能有其他客户端操作。