redis server与client通信协议介绍

今天在整理以前开发相关时的一些资料,其中对于redis protocol的解析有些小记录,记录在此:

一.reidis client-server协议是有如下特点

1.实现简单

2.能够被计算机快速解析。

3.使用者也容易理解

二.通信

client与redis server建立TCP连接,每个命令与数据传送最后都以\r\n结尾。

Redis跟据不同的命令进行不同的回复。redis server回复的内容类型通过第一个参数可以判断:

1."+"号开头表示单行字符串的回复 如:+OK

2."-"号开头表示错误的信息回复。 如:-wrong date type

3.":"号开头表示一个整数回复。 如":0\r\n"

4."$"号开头表示一个批量的回复。 如GET mykey 返回$6\r\nfoobar\r\n 其中6为字节数,foobar为实现的字符串数据。

5."*"号开头表示多个批量回复。

批量回复

对于$得到单个批量的回复,如果请求不存在数据块,返回$-1,这种情况对于客户端API返回的是null对象还不是空串.

多个批量回复

例如:

C: LRANGE mylist 0 3

s: *4

s: $3

s: foo

s: $3

s: bar

s: $5

s: Hello

s: $5

s: World

参上返回四个参数:

*4\r

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值