Redis GETSET 命令用于将 Redis 中给定 KEY 的值设为 value ,并返回 KEY 的旧值。当 KEY 存在但不是 字符串类型 时,返回一个错误。
192.168.98.70:6379> GETSET KEY value
参数 | 作用 |
---|---|
KEY | 要设置的 KEY |
value | 要设置的值 |
返回给定 KEY 的旧值。当 KEY 没有旧值时,即 KEY 不存在时,返回 nil 。
O(1)
>= 1.0.0
存在旧值,返回旧值
192.168.98.70:6379> SET haicoder.net "Welcome to HaiCoder!" OK 192.168.98.70:6379> GETSET haicoder.net haicoder "Welcome to HaiCoder!" 192.168.98.70:6379> GET haicoder.net "haicoder" 192.168.98.70:6379> DEL haicoder.net (integer) 1
首先,使用 SET 命令,设置 haicoder.net 的值为 Welcome to HaiCoder!。接着,使用 GETSET 命令,设置 haicoder.net 的值为 haicoder,此时返回 haicoder.net 的旧值。
最后,使用 GET 命令,获取 haicoder.net 的值为刚才设置的 haicoder。
不存在旧值,返回 nil
192.168.98.70:6379> EXISTS haicoder.net (integer) 0 192.168.98.70:6379> GETSET haicoder.net haicoder (nil) 192.168.98.70:6379> GET haicoder.net "haicoder"
使用 GETSET 命令,设置一个不存在的键 haicoder.net 的值为 haicoder,此时没有旧值,返回 nil。最后,使用 GET 命令,获取 haicoder.net 的值为刚才设置的 haicoder。
Redis GETSET 命令用于将 Redis 中给定 KEY 的值设为 value ,并返回 KEY 的旧值。Redis GETSET 命令语法:
192.168.98.70:6379> GETSET KEY value