美文网首页
RESP协议

RESP协议

作者: 剑雪封侯之 | 来源:发表于2018-12-15 12:31 被阅读0次

简介

Redis客户端和服务端使用了RESP(REdis Serialization Protocol)协议,优点为:

  • 实现简单
  • 解析速度快
  • 可读性好

请求协议

请求协议的统一格式

*<参数个数> CR LF
$<参数1字节长度> CR LF
<参数1> CR LF
$<参数2字节长度> CR LF
<参数2> CR LF
...
$<参数N字节长度> CR LF
<参数N> CR LF

例如:

redis command: *3\r\n$3\r\nSET\r\n$4\r\nname\r\n$4\r\ntemp\r\n

回复

回复首字节

redis服务器的回复首字节用来区分不同的回复信息。

首字节 含义
+ 用单行回复
- 错误消息
: 整型数字
$ 批量回复
* 多个批量回复

单行回复

请求:hmset zhangsan addr beijing phone 0108888888

*6
$5
hmset
$8
zhangsan
$4
addr
$7
beijing
$5
phone
$10
0108888888

回复 OK

+OK

多行回复

请求:hgetall zhangsan

*2
$7
hgetall
$8
zhangsan

回复:1) addr 2)beijing 3)phone 4)0108888888

*4
$4
addr
$7
beijing
$5
phone
$10
0108888888

错误回复

请求一个不存在的键:get tttt

*2
$3
get
$4
tttt

回复:nil

$-1

整型回复

请求:incr index

*2
$4
incr
$5
index

回复:1

:1

批量回复

请求get name

*2
$3
get
$4
name

回复:temp

$4
temp

相关文章

网友评论

      本文标题:RESP协议

      本文链接:https://www.haomeiwen.com/subject/sfzohqtx.html