# 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>
# 反馈
如果您在此页面上发现问题,或有改进建议,请提交请求以合并或打开存储库中的问题。