文章目录
keys *
: 查看所有的key
,这个会遍历所有的键,复杂度为O(n)
,因此当存在了大量的key,应该禁止使用这个命令dbsize
:查看键key
的个数,这个是直接获取内置的键总数变量,因此复杂度为O(1)
exists key
: 检查键值是否存在,存在返回1,否则返回0del key
: 删除指定的键值del a
: 删除一个键del a b c
: 同时删除多个键expire key seconds
: 设置键的过期时间,单位为秒,超过过期时间会自动删除该键ttl key
: 查看键的剩余过期时间大于0的整数
: 剩余过期时间-1
:没有设置过期时间-2
: 该键不存在type key
: 查看key的类型,如果不存在返回none
int
: 8个字节的长整型。embstr
:小于等于39个字节的字符串。raw
: 大于39个字节的字符串。set age 1
,此时的编码就是int
,可以使用object encoding age
查看ziplist
(压缩列表):当哈希类型元素个数小于hash-max-ziplist-entries
配置(默认512个)、同时所有值都小于hash-max-ziplist-value
配置(默认64字节)时,Redis会使用ziplist作为哈希的内部实现,ziplist使用更加紧凑的结构实现多个元素的连续存储,所以在节省内存方面比hashtable更加优秀。hashtable
(哈希表):当哈希类型无法满足ziplist的条件时,Redis会使用hashtable作为哈希的内部实现,因为此时ziplist的读写效率会下降,而hashtable的读写时间复杂度为O(1)。config set slowlog-log-slower-than 20000
: 设置预设阀值,单位为毫秒,当命令执行的时间查过这个时间,那么将会被记录到慢查询日志中
config set slowlog-max-len
:慢查询日志最多存储的条数,慢查询日志使用的是队列存储的,先进先出,如果超过这个数,那么最先添加的日志将会被清除
config rewrite
: 将配置持久化到本地配置文件中
slowlog get [n]
: 返回慢查询的日志信息,其中对应的属性为id,发生时间戳、命令耗时、执行命令和参数
slowlog len
: 慢查询日志数量
slowlog reset
: 慢查询日志重置
multi
: 开启事务exec
:结束事务discard
: 中断事务watch key .....
: 在事务开始之前监视key,如果这个key对应的值在当前客户端开始事务之前被另外一个客户端修改了,那么当前客户端的事务将会失败## 开启事务
multi
## 添加信息,语法正确
sadd user:1 user1
## 语法错误
sdd user:1 user2
## 结束事务,执行语句,出现语法错误信息,事务回滚
exec
sdd user:1 user2
,修改成zdd user:1 10 user2
,那么语法是正确的,但是会出现运行时异常,这个时候事务将不会回滚,第一条执行的语句将会生效