首页 > 其他 > 详细

redis 学习(二)-- 通用命令

时间:2019-05-21 22:33:25      阅读:159      评论:0      收藏:0      [点我收藏+]

redis 学习(二)-- 通用命令

1. keys pattern

含义:查找所有符合给定模式(pattern)的key

命令 含义
keys * 遍历所有 key
keys he[h-l]* 遍历以he开头,第三个字符为h-l之间的所有key
keys ph? ?代表一个字符
keys he* 匹配所有以 he 开头的 key
dbsize 计算 key 的总数

注意:keys命令一般不在生产环境中使用

  • 生产环境的key比较多,keys这个命令是一个O(n)的命令
  • 由于Redis是单线程的,这个命令的操作会阻塞其他操作
  • 可以在从节点上执行keys命令
  • 使用SCAN命令代替keys命令

演示

keys *
dbsize

技术分享图片

keys he*
keys he[h-l]*
keys ph?

技术分享图片

2. exists key

含义:检查给定的key是否存在

存在返回 1,不存在返回 0 。

技术分享图片

3. del key1 [key2...]

含义:在 key 存在时删除 key

存在返回 1, 不存在返回 0 。

技术分享图片

4. expire key second、ttl key、persist key、

命令 含义
expire key second 为给定 key 设置过期时间,单位为秒
ttl key 以秒为单位,返回给定key的剩余生存时间(TTL , time to live)。不存在 key 返回 -2 ,无过期时间的 key 返回-1
persist key 移除 key 的过期时间,key 将持久保存

技术分享图片

技术分享图片

5. type

返回 key 所存储的值的类型

不存在的 key 返回none

技术分享图片

时间复杂度

命令 时间复杂度
keys O(n)
dbsize O(1)
del O(1)
exists O(1)
expire O(1)
type O(1)

可以看到,keys 的时间复杂度为 O(n),所以是并不适合实际使用的。

redis 学习(二)-- 通用命令

原文:https://www.cnblogs.com/weixuqin/p/10902701.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!