欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Redis学习笔记—客户端通讯协议RESP

程序员文章站 2022-05-19 10:50:54
...

Redis制定了RESP(REdis Serialization Protocol,Redis序列化协议)实现客户端与服务端的正常交互,这种协议简单高效,既能够被机器解析,又容易被人类识别

发送命令格式

RESP的规定一条命令的格式如下,CRLF代表”\r\n”

*< 参数数量 > CRLF
$< 参数 1 的字节数量 > CRLF
< 参数 1> CRLF
...
$< 参数 N 的字节数量 > CRLF
< 参数 N> CRLF

以set hell world这条命令进行说明,参数数量为3个,因此第一行为:

*3

参数字节数分别是355,因此后面几行为:

$3
SET
$5
hello
$5
world

这样传输的格式就是:

*3\r\n$3\r\nSET\r\n$5\r\nhello\r\n$5\r\nworld\r\n

返回结果格式

Redis的返回结果类型分为以下五种:

  • 状态回复:在RESP中第一个字节为”+”
  • 错误回复:在RESP中第一个字节为”-“
  • 整数回复:在RESP中第一个字节为”:”
  • 字符串回复:在RESP中第一个字节为”$”
  • 多条字符串回复:在RESP中第一个字节为”*”
Redis学习笔记—客户端通讯协议RESP
相关标签: redis