Redis学习笔记—客户端通讯协议RESP
Posted 爱锅巴
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis学习笔记—客户端通讯协议RESP相关的知识,希望对你有一定的参考价值。
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的主要内容,如果未能解决你的问题,请参考以下文章