# 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> 

# 反馈

如果您在此页面上发现问题,或有改进建议,请提交请求以合并或打开存储库中的问题。

Last Updated: 4/18/2023, 8:45:33 AM