转载请注明出处:
1.查看所有键
keys *
该命令会存在线程阻塞问题,keys 命令也可以通过正则匹配获取存在的缓存数据
Redis从2.8版本后,提供了一个新的命令scan,它能有效的解决keys命令可能带来的阻塞问题。和keys命令执行时会遍历所有键不同,scan采用渐进式遍历的方式来解决keys命令可能带来的阻塞问题,每次scan命令的时间复杂度是O(1),但是要真正实现keys的功能,需要执行多次scan。Redis存储键值对实际使用的是hashtable的数据结构;
scan命令可以解决keys命令可能带来的阻塞问题,同时Redis还提供了hscan、sscan、zscan渐进式地遍历hash、set、zset。
127.0.0.1:6379> scan 0 1) "6" 2) 1) "w" 2) "i" 3) "e" 4) "x"
返回结果分为两个部分:第一个部分6就是下次scan需要的cursor,第二个部分是10个键
2.查看键总数
dbsize
dbsize命令会返回当前数据库中键的总数。
dbsize命令在计算键总数时不会遍历所有键,而是直接获取Redis内置的键总数变量,所以dbsize命令的时间复杂度是O(1)。而keys命令会遍历所有键,所以它的时间复杂度是O(n),当Redis保存了大量键时,线上环境 禁止使用。
3.检查键是否存在
exists key
如果键存在则返回1,不存在则返回0
4.删除键
del key [key ...]
del是一个通用命令,无论值是什么数据结构类型,del命令都可以将其删除
5.键过期
expire key seconds
Redis支持对键添加过期时间,当超过过期时间后,会自动删除键
6.键的数据结构类型
type key
例如键hello是字符串类型,返回结果为string。键mylist是列表类型,回结果为list
7.查看缓存数据编码类型
object encoding key
标签: redis