resp(Redis Serialization Protocol)
resp是Redis序列化协议的简写,是文本协议,
Redis协议将传输的结构数据分为5种最小单元类型,单元结束时统一加上回车换行符
1. 单行字符串,以 + 符号开头
+ hello world\r\n
2.多行字符串,以$符号开头,后跟字符串长度
$11\r\nhello world\r\n
3.整数值 以: 符号开头,后跟整数的字符串形式
:1024\r\n
4.错误消息 以 - 符号开头
-WRONGTYPE Operation ag.... wrong kind of value
5. 数组 以 * 号开头,后跟数组的长度
*3\r\n:1\r\n:2\r\n:3\r\n
NULL 用多行字符串表示,不过长度要写成-1
空串 用多行字符串表示,长度填0
$0\r\n\r\n
优势:
1.实现简单
2. 解析性能极好
客户端->服务器
客户端向服务器发送的指令只有一种格式,多行字符串数组
eg: set author message
序列化后的字符串
*3\r\n6\r\nauthor\r\n3 7 三个单词对应的字符串长度
服务器->客户端
响应消息也是以上5种基本类型的组合
网友评论