Redis - 通信协议

      最后更新:2022-03-18 04:26:04 手机定位技术交流文章

      Redis - 通信合同

      据Redis发明家说,数据库系统中的瓶颈不是网络交通造成的。都是为了数据库背后的逻辑因此,即使Redis使用了效率低下的文本流协议,获得服务的业绩仍然很高。Redis存储了他记忆中的所有数据为了向外部世界提供服务,采用了单一的服务线。当通过 CPU 核心运行时,单个节点可能达到10w/s的超高 QPS。

      RESP(Redis Serialization Protocol)

      这是Redis测序议定书的概要,是一个简单的文本协议,目的是实现非常简单和出色的解析业绩。

      Redis协议使用模块结束时撕破的单行断线符号,将传送的结构数据分成5个最小单位类型。

      1. 单行字符串以 + 符号开头。
      2. 多行字符串以美元符号开头,后面是字符串长度。
      3. 整数由字符串表示,字符串以符号开头,结尾以整数结尾。
      4. - 标记表示错误信息。
      5. 数组从 * 符号开始,然后是数组的长度。

      单行字符串

      带几条线的星座宇宙

      事实上,多线字符串可以同样代表单线字符串。

      整数1024

      错误参数类型错误

      数组[1,2,3]

      NULL 是一个多行字符串,但长度为-1。

      在多行字符串中的 0 长空字符串

      这里有两个,为什么是两个?

      客户端 -> 服务器 发送数据

      客户端期望服务器仅以一个格式提供命令:多行字符串阵列。 简单的设置命令组用户密码孔将被排序为下面的字符串 。

      如RESSP议定书所述,使用下列格式:

      我们将执行设定命令。

      订单的实际商定价值如下:

      控制台输出

      服务器 -> 客户端 回复数据

      由于服务器对客户的回答必须处理广泛的数据格式,信息回复在结构上要复杂得多。 然而,更为复杂的回复信息也是上面列出的基本类型组合。 服务器对客户的回复必须处理广泛的数据格式,而信息回复在结构上要复杂得多。 然而,更为复杂的回复信息也是上面列出的基本类型组合。

      单行字符串响应

      反应灵敏的客户库应该从“+”和“CRLF”以外的任何东西返回到“OK”。

      请添加图片描述

      错误信息

      只有在发生错误时才发送错误信息,例如数据类型问题、语法问题或不存在的命令。如果收到错误信息,客户库应丢弃异常点。

      请添加图片描述

      整数

      一个是这里的整数响应 。

      请添加图片描述

      多行字符串响应

      服务端使用多行字符串返回一个最长长度为 512MB 的单二进安全字符串。 它以“ $ ” 开始, 然后是传输的字节数量, 然后是 CRLF, 然后是真实的字符串数据, 然后是 CRLF 结尾 。

      请添加图片描述

      数组

      数组类型用于从客户端向服务传递命令,当特定命令组合组件并返回客户端时,也使用同样的响应。

      Redis是由Java Soke经营的。

      输出:

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/20319.html

          热门文章

          文章分类