GETSET:获取旧值并设置新值

GETSET 命令就像 GET 命令和 SET 命令的组合版本,它首先获取字符串键目前已有的值,接着为键设置新值,最后把之前获取到的旧值返回给用户:

  1. GETSET key new_value

以下代码展示了如何使用 GETSET 命令去获取 number 键的旧值并为它设置新值:

  1. redis> GET number -- number 键现在的值为 "10086"
  2. "10086"
  3.  
  4. redis> GETSET number "12345"
  5. "10086" -- 返回旧值
  6.  
  7. redis> GET number -- number 键的值已被更新为 "12345"
  8. "12345"

另一方面,如果被设置的键并不存在于数据库,那么 GETSET 命令将返回空值作为键的旧值:

  1. redis> GET counter
  2. (nil) -- 键不存在
  3.  
  4. redis> GETSET counter 50
  5. (nil) -- 返回空值作为旧值
  6.  
  7. redis> GET counter
  8. "50"

其他信息

属性
复杂度O(1)
版本要求GETSET 命令从 Redis 1.0.0 开始可用。