GETSET key value
自动将key对应到value并且返回原来key对应的value。如果key存在但是对应的value不是字符串,就返回错误。
设计模式
GETSET可以和INCR一起使用实现支持重置的计数功能。举个例子:每当有事件发生的时候,一段程序都会调用INCR给key mycounter加1,但是有时我们需要获取计数器的值,并且自动将其重置为0。这可以通过GETSET mycounter “0”来实现:
INCR mycounter
GETSET mycounter "0"
GET mycounter
返回值
bulk-string-reply: 返回之前的旧值,如果之前Key
不存在将返回nil
。
例子
redis> INCR mycounter
(integer) 1
redis> GETSET mycounter "0"
"1"
redis> GET mycounter
"0"
redis>
相关参考链接
Strings相关命令:
命令组 | 命令 |
Strings (字符串) | APPEND; BITCOUNT; BITFIELD; BITOP; BITPOS; DECR; DECRBY; GET; GETBIT; GETRANGE; GETSET; INCR; INCRBY; INCRBYFLOAT; MGET; MSET; MSETNX; PSETEX; SET; SETBIT; SETEX; SETNX; SETRANGE; STRLEN |
全部命令组:Keys(键)、Strings(字符串)、Hashes(哈希表)、Lists(列表)、Sets(集合)、Sorted Sets(有序集合)、Pub/Sub(发布/订阅)、Scripting(脚本)、Server(服务器)、Transactions(事物),Geo(地理位置)、Cluster(集群)、Connection(连接)、Streams(流)、HyperLogLog。
回到总目录:Redis命令参考手册(总目录)