- 用法
-
GETSET key value
- 复杂度
- O(1)
- 始于
- 1.0.0
- ACL 类别
- @string, @write, @fast
原子性地将 key
设置为 value
并返回存储在 key
处的旧值。当 key
存在但未存储字符串值时,返回错误。在成功的 SET
操作后,任何与键关联的旧生存时间都将被丢弃。
设计模式
GETSET
可以与 INCR
一起使用,以实现原子性重置计数。例如:一个进程可以在每次事件发生时对键 mycounter
调用 INCR
,但我们有时需要获取计数器的值并将其原子性地重置为零。这可以通过使用 GETSET mycounter "0"
来完成。
127.0.0.1:6379> INCR mycounter
(integer) 1
127.0.0.1:6379> GETSET mycounter "0"
"1"
127.0.0.1:6379> GET mycounter
"0"
示例
127.0.0.1:6379> SET mykey "Hello"
OK
127.0.0.1:6379> GETSET mykey "World"
"Hello"
127.0.0.1:6379> GET mykey
"World"
RESP2 回复
以下之一
RESP3 回复
以下之一