getset

GETSET

GETSET key value

自1.0.0起可用。

时间复杂度: O(1)

以原子方式设置keyvalue,并返回存储在旧值keykey存在但返回一个错误,但不包含字符串值。

设计模式

GETSET 可以与 INCR 一起用于计数原子重置。例如:mycounter每次某个事件发生时,一个进程可能会调用 INCR 来对付该键,但是我们需要不时地获取该计数器的值并将其重置为零。这可以使用GETSET mycounter "0"

redis> INCR mycounter (integer) 1 redis> GETSET mycounter "0" "1" redis> GET mycounter "0"

返回值

散装字符串回复:旧值存储在key,或者nilkey不存在。

例子

redis> SET mykey "Hello" "OK" redis> GETSET mykey "World" "Hello" redis> GET mykey "World"