通用命令
keys
keys *:遍历所有 key(* 代表不限长度任意字符)keys ha*:遍历 ha 开头的keykeys ha[h-l]*:遍历ha开头,第三个字符是h到l的keykeys ha?:遍历ha开头,三位长度的key(?代表一位任意字符)
注: keys 生产环境不建议使用。原因:当 key 很大量时候,由于 Redis 是单线程,会阻塞其他命令。
如果需要查询所有key,可使用
scan命令,或使用热备从节点方式查询。
dbsize
计算 key 的数量。生产环境可使用。原因:Redis 内置机制去计数。
exists key
del key [key …]
删除指定 key 和对应的值。支持删除多个。返回删除成功的数量。
expire key seconds
ttl key
查询 key 的剩余过期时间(单位:秒)。
当有过期时间,则返回过期剩余过期时间;当 key 存在,无过期时间,则返回 -1;当 key 不存在,则返回 -2。
persist key
去掉 key 的过期时间,相当于将 key 设置为永不过期。
type key
时间复杂度
| 命令 | 时间复杂度 |
|---|---|
| keys | O(n) |
| dbsize | O(1) |
| del | O(1) |
| exists | O(1) |
| expire、ttl、persist | O(1) |
| type | O(1) |
解释:O(n),代表查询时间消耗,n 随着 key 增加,时间增加。
数据结构与内部编码
依靠内部不同的内部编码,可实现更高效的内存使用。
