Redis-客户端通讯协议

Redis-客户端通讯协议

一.概述

1.客户端与服务端的通讯协议是建立在TCP协议之上构建的

2.Redis指定了RESP(Redis SerializationProtocol,Redis序列化协议)实现客户端与服务端的正常交互,这种协议简单高效,即容易被机器解析,又容易被人类识别。

二.发送命令格式

RESP规定一条命令的格式如下:其中CRLF代表\r\n

*<参数数量> CRLF       

$<参数1的字节数量> CRLF

<参数1> CRLF

$<参数的字节数量> CRLF

<参数1> CRLF

 

例如:set hello world

协议转换后

*3

$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-cli只能看到最终的执行结果,那是因为redis-cli本身就是按照RESP进行了结果解析,所以看不到中间结果。

你可能感兴趣的:(缓存,分布式缓存-redis)