加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

redis 中setex、setnx、set、getset 命令的区别与使用

发布时间:2020-12-16 04:38:19 所属栏目:安全 来源:网络整理
导读:? 介绍几个常用的redis命令: SET 命令 set key value 设置指定 key 的值为 value。 如果 key 已经存储其他值, SET 就覆写旧值,且无视类型。 127.0 . 0.1 : 6379 set testSetKey aaaOK get testSetKey " aaa " set testSetKey bbb # 会覆写旧值OK bbb " ?

?

介绍几个常用的redis命令:

SET 命令

set key value

设置指定 key 的值为 value。

如果 key 已经存储其他值, SET 就覆写旧值,且无视类型。

127.0.0.1:6379> set testSetKey aaa
OK
 get testSetKey
"aaa"
 set testSetKey bbb  # 会覆写旧值
OK
bbb"

?

SETEX 命令

setex key seconds value

设置指定 key 的值为 value,并将 key 的过期时间设为 seconds (以秒为单位)。

如果 key 已经存在, SETEX 命令将会替换旧的值。

6379> setex testSetexKey 60 aaa   # 设置过期时间为60秒
OK
 get testSetexKey   # 有效期内获取
 get testSetexKey   # 时间过期后再次获取返回 nil
(nil)
 aaa
OK
 get testSetexKey
 bbb    # 替换旧值
OK
"

?

SETNX 命令

setnx key value

设置指定 key 的值为 value,只有在 key 不存在时设置 key 的值。

setnx(SET?if?Not eXists) 命令在指定的 key 不存在时,为 key 设置指定的值。

设置成功,返回 1 。 设置失败,返回 0 。

 setnx testSetnxKey aaa
(integer) 1
 get testSetnxKey
 setnx testSetnxKey bbb  # 当key值存在时,返回0
(integer) 0
"

?

GETSET 命令

getset key value

设置指定 key 的值为 value,并返回 key 的旧值(old value)。

返回给定 key 的旧值。 当 key 没有旧值时,即 key 不存在时,返回 nil 。

当 key 存在但不是字符串类型时,返回一个错误。

 getset testGetsetKey aaa  # 没有旧值时,返回 nil
(nil)
 get testGetsetKey
 getset testGetsetKey bbb  # 返回旧值
"

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读