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

演示

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),所以是并不适合实际使用的。

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