# GETSET (已弃用)
设置key的字符串值并返回其旧值
从 Redis 版本 6.2.0 开始,此命令被视为已弃用。
它可以替换为SET
在迁移或编写新代码时使用GET
参数。
语法
GETSET key value
从以下版本可用:
1.0.0
时间复杂度:
O(1)
ACL 类别:
@write
,@string
,@fast
原子化地将key
设置为value
,并返回存储在key
处的旧值。当key
存在但不包含字符串值时,返回一个错误。成功SET
后,将放弃与密钥相关联的任何先前生存时间操作。
# 设计模式
GETSET
可以与INCR
一起使用用于原子复位计数。例如:进程可以调用INCR
每次发生一些事件时,都要使用关键字mycounter
,但有时我们需要获取计数器的值,并将其原子重置为零。这可以使用GETSET mycounter“0”
完成:
redis> INCR mycounter
(integer) 1
redis> GETSET mycounter "0"
"1"
redis> GET mycounter
"0"
redis>
# 返回
存储在key
处的旧值,或者当key
不存在时存储在nil
处。
# 例子
redis> SET mykey "Hello"
"OK"
redis> GETSET mykey "World"
"Hello"
redis> GET mykey
"World"
redis>
# 反馈
如果您在此页面上发现问题,或有改进建议,请提交请求以合并或打开存储库中的问题。