大家好,欢迎来到IT知识分享网。
SET
SET key value [EX seconds] [PX milliseconds] [NX|XX]
可用版本: >= 1.0.0 时间复杂度: O(1)
将字符串值value关联到 key 。
如果key已经持有其他值, SET会覆盖掉旧值。当SET命令对一个带有生存时间(TTL)的键进行设置之后, 该键原有的 TTL 将被清除。这些在演示中会进行说明。
可选参数
从Redis 2.6.12版本开始, SET命令的行为可以通过一系列参数来修改:
EX seconds: 将键的过期时间设置为seconds秒。PX milliseconds: 将键的过期时间设置为milliseconds毫秒。NX: 只在键不存在时, 才对键进行设置操作。 执行SET key value NX的效果等同于执行SETNX key value。XX: 只在键已经存在时, 才对键进行设置操作。
演示
对不存在的键进行设置:
返回OK。
EX选项:
PX选项:
NX选项:
只在键不存在时, 才对键进行设置操作(返回OK),否则返回(nil)。
XX选项:
只在键已经存在时, 才对键进行设置操作(返回OK),否则返回(nil)。并且当SET命令对一个带有生存时间(TTL)的键进行设置之后, 该键原有的 TTL 将被清除。
TTL命令:当key不存在时,返回 -2 。 当 key 存在但没有设置生存时间时,返回 -1 。 否则,以秒为单位,返回 key 的剩余生存时间。
注意:在 Redis2.8以前,当 key 不存在,或者 key 没有设置生存时间时,命令都返回 -1 。
SETNX
SETNX key value
可用版本: >= 1.0.0 时间复杂度: O(1)
只在键 key 不存在的情况下, 将键 key 的值设置为 value 。
若键 key 已经存在, 则SETNX命令不做任何动作。
返回值
命令在设置成功时返回 1 , 设置失败时返回 0 。
演示
SETEX
SETEX key seconds value
可用版本: >= 2.0.0 时间复杂度: O(1)
将键 key 的值设置为 value , 并将键 key 的生存时间设置为 seconds 秒钟。
如果键 key 已经存在, 那么SETEX 命令将覆盖已有的值。
SETEX 是一个原子(atomic)操作, 它可以在同一时间内完成设置值和设置生存时间这两个操作。
演示
如果键 key 已经存在, 那么SETEX 命令将覆盖已有的值。
PSETEX
PSETEX key milliseconds value
可用版本: >= 2.6.0 时间复杂度: O(1)
这个命令和SETEX命令相似, 但它以毫秒为单位设置key的生存时间, 而不是像SETEX命令那样以秒为单位进行设置。
演示
GET
GET key
可用版本: >= 1.0.0 时间复杂度: O(1)
返回与键 key 相关联的字符串值。
演示
当键 key 不存在时, 返回特殊值(nil) ; 否则, 返回键 key 的值。
如果键 key 的值并非字符串类型, 那么返回一个错误, 因为GET命令只能用于字符串值。
GETSET
GETSET key value
可用版本: >= 1.0.0 时间复杂度: O(1)
将键 key 的值设为 value , 并返回键 key 在被设置之前的旧值。
演示
返回给定键 key 的旧值。
如果键 key 没有旧值, 那么命令返回 (nil) 。
和GET命令一样,当键 key 存在但不是字符串类型时,GETSET命令会返回一个错误。
Redis中字符串SET、SETNX、SETEX、PSETEX、GET、GETSET命令就介绍到这里。
写博客是博主记录自己的学习过程,如果有错误,请指正,谢谢!
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/121140.html










