Redis使用手册
上QQ阅读APP看书,第一时间看更新

2.3 GETSET:获取旧值并设置新值

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

        GETSET key new_value

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

        redis> GET number     -- number键现在的值为"10086"
        "10086"

       redis> GETSET number "12345"
        "10086"                 -- 返回旧值

       redis> GET number     -- number键的值已被更新为"12345"
        "12345"

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

        redis> GET counter
        (nil)     -- 键不存在

       redis> GETSET counter 50
        (nil)     -- 返回空值作为旧值

       redis> GET counter
        "50"

其他信息

复杂度:O(1)。

版本要求:GETSET命令从Redis 1.0.0开始可用。