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

众所周知,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



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值