Redis版本:Redis version 3.0.503
其它工具: windows 7 、 xshell 5
Redis 协议,理解这个可以写其它相应的客户端或者做数据同步
想查看的话, 可以使用 telnet 链接到服务器,然后执行相应命令,可以查看数据
基于TCP协议来做数据交换,默认端口: 6379
传递的数据都以crlf[\r\n]结尾
请求命令到服务器的命令协议格式,以二进程安全的形式传输:
*<参数个数>\r\n
$<参数1的字节数量>\r\n
<参数1数据>\r\n
......
$<参数N的字节数量>\r\n
<参数N的数据>\r\n
这个格式,可以在启用了AOF配置的时候,在AOF文件里面看到
回复客户端的协议一般格式:回复类型 参数数量 CRLF
回复类型:
"+" : 状态回复 [+PONG \r\n] # 执行 ping 命令返回的结果 "-" : 错误回复 [-ERR ... \r\n] # 出错,在-之后的最近一个空格,表示错误类型 ":" : 整数回复 [:1 \r\n] # 整数,如执行 incr k1 :<整数> "$" : 批量回复 [$3...\r\n] # String类型的数据返回,可能返回$0 ; $6\r\nfoobar\r\n ; 1. 第一字节为 "$" 符号 2. 接下来跟着的是表示实际回复长度的数字值 3. 之后跟着一个 CRLF 4. 再后面跟着的是实际回复数据 5. 最末尾是另一个 CRLF "*" : 多条批量回复 [*2\r\n$5\r\nvalue\r\n$3\r\nken\r\n] 参考下批量回复,有相同的地方 *<条数>\r\n$<值1长度>\r\n值1\r\n....$<值N长度>\r\n值N\r\n 如果有空元素的话,则值长度为 $-1 # 一般返回一个结果集,可能 返回 *0 或者 *-1
尝试看到效果可以用: telnet 访问,会有最原始的协议数据返回,效果如图:
Tips: telnet 默认是不安装的,不过 xshell 默认自带了