Redis之key命令

Redis之key命令

1.keys pattern

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ptMlUIcr-1656380485672)(C:/Users/86158/AppData/Roaming/Typora/typora-user-images/image-20220627211126504.png)]

image-20220315165024383

2.type

命令用于返回 key 所储存的值的类型;
返回 key 的数据类型,数据类型有:
none (key不存在)
string (字符串)
list (列表)
set (集合)
zset (有序集)
hash (哈希表)

TYPE KEY_NAME

在这里插入图片描述

image-20220315165055875

3.del

del: 返回删除的key的个数,如果其中有key不存在,则不会计不存在的key的数量

del key1 key2  keyN

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mnmTIDLn-1656380485673)(C:/Users/86158/AppData/Roaming/Typora/typora-user-images/image-20220627211533172.png)]

在这里插入图片描述
在这里插入图片描述

image-20220315165131281

4.pexpireat

命令用于设置 key 的过期时间,已毫秒计,key 过期后将不再可用;
设置成功返回 1 。 当 key 不存在或者不能为 key 设置过期时间时(比如在低于 2.1.3 版本的 Redis 中你尝试更新 key 的过期时间)返回 0;
时间的格式是uinx时间戳并精确到毫秒

PEXPIREAT KEY_NAME TIME_IN_MILLISECONDS_IN_UNIX_TIMESTAMP

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oRvzlnaP-1656380485674)(C:/Users/86158/AppData/Roaming/Typora/typora-user-images/image-20220627214303389.png)]

5.rename

命令用于修改 key 的名称;
改名成功时提示 OK ,失败时候返回一个错误;
当 OLD_KEY_NAME 和 NEW_KEY_NAME 相同,或者 OLD_KEY_NAME 不存在时,返回一个错误。 当 NEW_KEY_NAME 已经存在时, RENAME 命令将覆盖旧值

RENAME OLD_KEY_NAME NEW_KEY_NAME

key 存在且 newkey 不存在

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6bQHxasS-1656380485674)(C:/Users/86158/AppData/Roaming/Typora/typora-user-images/image-20220628091246985.png)]

当 key 不存在时,返回错误

在这里插入图片描述

newkey 已存在时, RENAME 会覆盖旧 newkey

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oinn7cvF-1656380485674)(C:/Users/86158/AppData/Roaming/Typora/typora-user-images/image-20220628091325948.png)]

6.persist

命令用于移除给定 key 的过期时间,使得 key 永不过期;
当过期时间移除成功时,返回 1 。 如果 key 不存在或 key 没有设置过期时间或者所设置的时间过期后,返回 0

PERSIST KEY_NAME

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Klf32TmY-1656380485675)(C:/Users/86158/AppData/Roaming/Typora/typora-user-images/image-20220628091606797.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4QvqQ04g-1656380485675)(C:/Users/86158/AppData/Roaming/Typora/typora-user-images/image-20220628091630857.png)]

7.ttl

命令以秒为单位返回 key 的剩余过期时间;
当 key 不存在时,返回 -2 。 当 key 存在但没有设置剩余生存时间时,返回 -1 。 否则,以毫秒为单位,返回 key 的剩余生存时间

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GvP9bw2v-1656380485676)(C:/Users/86158/AppData/Roaming/Typora/typora-user-images/image-20220628091700018.png)]

在这里插入图片描述
在这里插入图片描述

8.expire

命令用于设置 key 的过期时间。key 过期后将不再可用;
以秒为单位;
设置成功返回 1 。 当 key 不存在或者不能为 key 设置过期时间时(比如在低于 2.1.3 版本的 Redis 中你尝试更新 key 的过期时间)返回 0;
若key原本就已经设置过期时间了,再次设置的话,则进行覆盖

expire key seconds

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i2YigZDt-1656380485676)(C:/Users/86158/AppData/Roaming/Typora/typora-user-images/image-20220628092411716.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n6bAHxcA-1656380485677)(C:/Users/86158/AppData/Roaming/Typora/typora-user-images/image-20220628092427476.png)]

9.exists

命令用于检查给定 key 是否存在;
返回存在的key的数量

EXISTS KEY_NAME [KEY_NAME ...]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EfC2ooC0-1656380485677)(C:/Users/86158/AppData/Roaming/Typora/typora-user-images/image-20220628092456326.png)]

10.renamenx

命令用于在新的 key 不存在时修改 key 的名称;
修改成功时,返回 1 。 如果 NEW_KEY_NAME 已经存在,返回 0

RENAMENX OLD_KEY_NAME NEW_KEY_NAME

newkey 不存在,改名成功

在这里插入图片描述

newkey 存在,改名失败

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8IIQoidm-1656380485678)(C:/Users/86158/AppData/Roaming/Typora/typora-user-images/image-20220628092654766.png)]

11.expireat

命令以UNIX 时间戳(unix timestamp)格式设置 key 的过期时间。key 过期后将不再可用;
设置成功返回 1 。 当 key 不存在或者不能为 key 设置过期时间时(比如在低于 2.1.3 版本的 Redis 中你尝试更新 key 的过期时间)返回 0

Expireat KEY_NAME TIME_IN_UNIX_TIMESTAMP

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XEaaVvCf-1656380485678)(C:/Users/86158/AppData/Roaming/Typora/typora-user-images/image-20220628092747335.png)]

12.pttl

命令以毫秒为单位返回 key 的剩余过期时间;
当 key 不存在时,返回 -2 。 当 key 存在但没有设置剩余生存时间时,返回 -1 。 否则,以毫秒为单位,返回 key 的剩余生存时间

 PTTL KEY_NAME

13.dump

命令用于序列化给定 key ,并返回被序列化的值;
如果 key 不存在,那么返回 nil 。 否则,返回序列化之后的值

DUMP KEY_NAME

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qo0ofPN8-1656380485679)(C:/Users/86158/AppData/Roaming/Typora/typora-user-images/image-20220628093152716.png)]

14.randomkey

从当前数据库中随机返回一个 key ;
当数据库不为空时,返回一个 key 。 当数据库为空时,返回 nil

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3bx0NHKN-1656380485679)(C:/Users/86158/AppData/Roaming/Typora/typora-user-images/image-20220628093214515.png)]

15.flushdb

删除当前数据库所有 key

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DXLAdmE2-1656380485680)(C:/Users/86158/AppData/Roaming/Typora/typora-user-images/image-20220628093327695.png)]

16.move

用于将当前数据库的 key 移动到给定的数据库 db 当中;
移动成功返回 1 ,当给定的数据库有相同的key或失败时则返回 0;
redis没有查看当前是哪个数据库的命令,因为当你在哪个数据库的时候,会显示其的索引号。因为你客户端刚连接redis的时候,默认的是第一个数据库,也就是索引号为0,不显示。切换成其他的数据库,就会显示其对应的索引号了;
redis默认有16个数据库

MOVE KEY_NAME DESTINATION_DATABASE

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HvrhErJN-1656380485680)(C:/Users/86158/AppData/Roaming/Typora/typora-user-images/image-20220628093836374.png)]

select 1 切换数据库 ,1代表数据库的索引,索引从0开始,所以这是切换到了第2数据

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cxJP9hJO-1656380485681)(C:/Users/86158/AppData/Roaming/Typora/typora-user-images/image-20220628093932595.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-42HPhMwu-1656380485681)(C:/Users/86158/AppData/Roaming/Typora/typora-user-images/image-20220628093943914.png)]

17.pexpire

pexpire key milliseconds 

18.renamex

Renamenx 命令用于在新的 key 不存在时修改 key 的名称 。
修改成功时,返回 1 。 如果 NEW_KEY_NAME 已经存在,返回 0 。

 RENAMENX OLD_KEY_NAME NEW_KEY_NAME

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0zNRUHWu-1656380485681)(C:/Users/86158/AppData/Roaming/Typora/typora-user-images/image-20220628094100454.png)]

19.flushall

清除所有0-15所有数据库里的键值对

flushall
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
redis操作命令大全 DEL key [key ...] 删除给定的一个或多个 key 。 不存在的 key 会被忽略。 可用版本: >= 1.0.0 时间复杂度: O(N),N 为被删除的 key 的数量。 删除单个字符串类型的 key ,时间复杂度为 O(1)。 删除单个列表、集合、有序集合或哈希表类型的 key ,时间复杂度为 O(M),M 为以上数据结构内的 元素数量。 返回值: 被删除 key 的数量。 # 删除单个 key redis> SET name huangz OK redis> DEL name (integer) 1 # 删除一个不存在的 key redis> EXISTS phone (integer) 0 redis> DEL phone # 失败,没有 key 被删除 (integer) 0 # 同时删除多个 key redis> SET name "redis" 1 Redis 命令参考, Release 2.8 OK redis> SET type "key-value store" OK redis> SET website "redis.com" OK redis> DEL name type website (integer) 3 1.2 DUMP DUMP key 序列化给定 key ,并返回被序列化的值,使用RESTORE 命令可以将这个值反序列化为 Redis 键。 序列化生成的值有以下几个特点: • 它带有 64 位的校验和,用于检测错误,RESTORE 在进行反序列化之前会先检查校验和。 • 值的编码格式和 RDB 文件保持一致。 • RDB 版本会被编码在序列化值当中,如果因为 Redis 的版本不同造成 RDB 格式不兼容,那么 Redis 会拒绝对这个值进行反序列化操作。 序列化的值不包括任何生存时间信息。 可用版本: >= 2.6.0 时间复杂度: 查找给定键的复杂度为 O(1) ,对键进行序列化的复杂度为 O(N*M) ,其中 N 是构成 keyRedis 对象的数量,而 M 则是这些对象的平均大小。 如果序列化的对象是比较小的字符串,那么复杂度为 O(1) 。 返回值: 如果 key 不存在,那么返回 nil 。 否则,返回序列化之后的值。 redis> SET greeting "hello, dumping world!"

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值