首页
学习
活动
专区
圈层
工具
发布

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

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命令

演示

代码语言:javascript
复制
keys *
dbsize
代码语言:javascript
复制
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),所以是并不适合实际使用的。

下一篇
举报
领券