RESP 协议
RESP 协议,全称 Redis 序列化协议(Redis Serialization Protocol) 是 Redis 客户端和服务器用来通信的文本协议,其特点是简单直观。优势在于实现简单,解析性能好。
五种基本的Redis协议数据结构的最小单元类型:每个单元类型以【/r/n】结尾
-
单行字符串 -
以【+】开头,+OK\r\n表示字符串OK
-
-
多行字符串 -
以【$】开头,后面是字符串长度。
-
-
数值 -
以【:】开头,后面是整数字符串,:10086表示数值10086
-
-
错误信息 -
以【-】开头,后面是具体的错误信息,-EEROR XXXXX
-
-
数组 -
以【*】开头,后面跟数组长度,*3\r\n:1\r\n:2\r\n:3\r\n 表示数值数组[1,2,3]
-
注意:
-
NULL 使用多字符串进行表示,长度填-1:$-1\r\n -
空串使用多字符串表示,长度填0:$0\r\n\r\n,两个\r\n中间隔的是空串。
举几个例子: 命令1:**SET KEY VALUE**
将其转换为 RESP 协议中的文本为:*3\r\n$3\r\nset\r\n$3\r\nkey\r\n$5\r\nvalue\r\n
-
*3
表示后面是字符串数组,有三个字符串,其后面的 \r\n 表示该数据单元结束。 -
$3
表示长度为3的字符串
返回结果:+OK
,表示设置 key-value 成功。
命令2:**GET KEY VALUE**
如果成功返回字符串: