每天学些redis命令(3)

数据库 waitig 441℃ 百度已收录 0评论

21、dbsize
起始版本:2.0.0
功能:获取数据库中key的数量。
返回值:返回数据库中key的数量的integer类型

22、debug object key
起始版本:1.0.0
功能:是一个调试命令,一般不认客户端使用的调试命令
例子:

127.0.0.1:6379> debug object mylist
Value at:00007FCE3BC6AF10 refcount:1 encoding:quicklist serializedlength:36 lru:13684715 lru_seconds_idle:489661 ql_nodes:1 ql_avg_node:11.00 ql_ziplist_max:-2 ql_compressed:0 ql_uncompressed_size:53

23、debug segfault
起始版本:1.0.0
功能:用来模拟在开发过程中的错误。执行后redis服务停止。需要重新启动服务。

24、decr key
起始版本:1.0.0
时间复杂度:O(1)
功能:对key对应的数字做减一操作。如果key不存在,那么在操作之前,这个key对应的值会被置为0。如果key有一个错误类型的value或者是一个不能表示为数字的字符串,就返回错误。最大支持在64位有符号的整型数字。
返回值:减少之后的value。
应用:一般可以用redis的decr key 和 incr key来作为分布式锁。(当认为redis服务为可靠的情况下)
例子:

redis> SET mykey "10"
OK
redis> DECR mykey
(integer) 9
redis> SET mykey "234293482390480948029348230948"
OK
redis> DECR mykey
ERR value is not an integer or out of range
redis> 

25、decrby key decrement
起始版本:1.0.0
时间复杂度:O(1)
功能:将key对应的数字减去decrement。如果key不存在,操作之前,key就会被置为0。如果key的值的value类型错误或者是个不能表示为数字的字符串,就返回错误。这个操作最多支持64位符号的整型数字。
返回值:返回一个数字,减少之后的value值。
例子:

redis> SET mykey "10"
OK
redis> DECRBY mykey 5
(integer) 5
redis> 

26、del key [key …]
起始版本:1.0.0
功能:删除指定的一批keys,如果删除中的某些key不存在,则直接忽略。
返回值:被删除的keys的数量
例子:

redis> SET key1 "Hello"
OK
redis> SET key2 "World"
OK
redis> DEL key1 key2 key3
(integer) 2
redis> 

27、discard
起始版本:2.0.0
功能:刷新一个事务所有在排队的指令,并且将连接这台恢复为正常。如果已使用watch,discard将释放所有被watch的key。命令用于取消事务,放弃执行事务块内的所有命令。
返回值:ok
例子:

127.0.0.1:6379> multi
OK
127.0.0.1:6379> set flag 100
QUEUED
127.0.0.1:6379> incr flag 
QUEUED
127.0.0.1:6379> get flag 
QUEUED
127.0.0.1:6379> discard
OK
127.0.0.1:6379> exec
(error) ERR EXEC without MULTI
127.0.0.1:6379> get mykey
(nil)

28、dump key
起始版本:2.6.0
功能:序列化给定的key,并返回被序列化的值,使用 RESTORE 命令可以将这个值反序列化为 Redis 键。
序列化生成的值有以下几个特点:
它带有 64 位的校验和,用于检测错误,RESTORE 在进行反序列化之前会先检查校验和。
值的编码格式和 RDB 文件保持一致。
RDB 版本会被编码在序列化值当中,如果因为 Redis 的版本不同造成 RDB 格式不兼容,那么 Redis 会拒绝对这个值进行反序列化操作。
序列化的值不包括任何生存时间信息
返回值:如果key不存在,那么返回nil。否则返回序列化之后的值。
例子:

127.0.0.1:6379> dump abc
(nil)
127.0.0.1:6379> dump mynumber
"\x00\nyournumber\a\x00\xf6\xcd!\x9a\x0e\xcc\xb3\x8d"
127.0.0.1:6379> get mynumber
"yournumber"
127.0.0.1:6379>

29、 echo message
起始版本:1.0.0
功能:返回消息
返回值:message
例子:

127.0.0.1:6379> echo helloworld!
"helloworld!"

30、exec
起始版本:1.2.0
功能:执行事务中所有排队等待的指令并将连接状态恢复到正常,当使用watch时,只有被检索的键没有被修改,且允许设定机制时,exec会被执行。
返回值:所有原则事务中指令一一对应。当使用watch时,如果被中止,exec则返回一个空的应答集合。


本文由【waitig】发表在等英博客
本文固定链接:每天学些redis命令(3)
欢迎关注本站官方公众号,每日都有干货分享!
等英博客官方公众号
点赞 (0)分享 (0)