redis客户端发送数据的格式(resp协议,以string为例)

本文介绍了 Redis 使用的 RESP 协议,展示了客户端如何通过 RESP 协议与 Redis 服务器进行交互。通过 SETCc 命令的具体示例,解释了 RESP 的数据格式和结构,包括简单的字符串、错误响应、整型、二进制安全字符串等。

众所周知,redis使用的是resp协议,那么客户端发送给redis-server的数据又是什么样子的呢,以SET C c命令为例:

# SET C c命令

# resp格式
*3\r\n$3\r\nSET\r\n$1\r\nC\r\n$1\r\nc\r\n

# resp格式排版一下:
*3\r\n
    $3\r\nSET\r\n
    $1\r\nC\r\n
    $1\r\nc
\r\n

从上可知:

  • redis-cli发送的是一个二进制安全的数组

另外,resp例子如下:



# 简单字符串
+OK\r\n

# 错误响应,错误信息不能包括\r\n
-ERR unknow command `foo`\r\n

# 整形
:5\r\n

# 安全二进制安全的字符串(bulk strings)
$6\r\nfoobar\r\n

# 空字符串,java中的""
$0\r\n\r\n

# 不存在的值,NULL
$-1\r\n

# 空数组
*0\r\n

# 两个bulk Strings元素 (换行是增强可读性)
*2\r\n
    $3\r\nfoo\r\n
    $3\r\nbar
\r\n

# 类型不同的数组(换行是增强可读性)
*2\r\n
    :1\r\n
    +hello
\r\n



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值