Redis(redis协议篇)

请求格式

统一请求协议格式

*<number of arguments> CR LF

$<number of bytes of argument 1> CR LF

<argument data> CR LF

...

$<number of bytes of argument N> CR LF

<argument data> CR LF

 

例如:

*3\r\n$3\r\nSET\r\n$5\r\nmykey\r\n$7\r\nmyvalue\r\n

 

内联命令请求格式

说明:简单命令其参数用空格分割字符串。非二进制安全

例如:

C: PING

S: +PONG

回复格式

Redis用不同的回复类型回复命令。它可能从服务器发送的第一个字节开始校验回复类型

单行回复(Simple string)

说明:状态回复(或者单行回复)以“+”开始以“\r\n”结尾的单行字符串形式

例如:"+OK\r\n"

错误消息(Errors)

说明:错误回复发送类似于状态回复。唯一的不同是第一个字节用“-”代替“+”

错误回复仅仅在一些意料之外的事情发生时发送,例如:如果你试图执行一个操作来应付错误的数据类型,或者如果命令不存在等等。所以当收到一个错误回复时,客户端将会出现一个异常

整型数字 (Integers)

说明:只是用CRLF结尾字符串来表示整型,用一个字节的作为前缀。例如:0\r\n”,或者“:1000\r\n”是整型回复。

批量回复(Bulk String

说明:批量回复被服务器用于返回一个单二进制安全字符串。

例如:"$6\r\nfoobar\r\n"

 

如果请求的值不存在,批量回复将使用特殊的值-1来作为数据长度

例如:$-1

多个批量回复 (Array)

说明:同统一请求协议格式

 

使用*-1表示null


你可能感兴趣的:(Redis(redis协议篇))