在学习 redis 的过程中,我了解到了可以使用 nc 命令来连接 redis-server, 直接打开一个 TCP 连接来交互数据,获取 redis 的返回
但是我又从相关书籍上了解到, redis 的数据交互需要遵照 RESP 协议,
意思就是说我们发送`set hello world` , 这是不符合 RESP 协议的格式的, redis 没法理解的(?), 需要改为
```
*3
$3
set
$5
hello
$5
world
```
如果从这个角度出发, 为什么 nc 工具发送的数据, redis 可以处理并返回呢? 比如如下案例
```
//连接
nc 127.0.0.1 6379
//发送一条 redis 指令(没有符合 RESP 协议规定的格式)
set hello world
//redis 返回
+OK
```
由于我知识匮乏, 尝试多次 google, 比如
1. 为什么 nc 连接 redis, 发送的数据不符合 RESp, redis 却可以理解并返回
2. nc 发起的 TCP 连接,默认使用的是什么应用层协议.
...
这些关键字的查询结果都不是我想要的 T T
所以我想希望 v2 的前辈们, 可以帮助我, 这个地方有个我知识的断层区, 心里很难受.
但是我又从相关书籍上了解到, redis 的数据交互需要遵照 RESP 协议,
意思就是说我们发送`set hello world` , 这是不符合 RESP 协议的格式的, redis 没法理解的(?), 需要改为
```
*3
$3
set
$5
hello
$5
world
```
如果从这个角度出发, 为什么 nc 工具发送的数据, redis 可以处理并返回呢? 比如如下案例
```
//连接
nc 127.0.0.1 6379
//发送一条 redis 指令(没有符合 RESP 协议规定的格式)
set hello world
//redis 返回
+OK
```
由于我知识匮乏, 尝试多次 google, 比如
1. 为什么 nc 连接 redis, 发送的数据不符合 RESp, redis 却可以理解并返回
2. nc 发起的 TCP 连接,默认使用的是什么应用层协议.
...
这些关键字的查询结果都不是我想要的 T T
所以我想希望 v2 的前辈们, 可以帮助我, 这个地方有个我知识的断层区, 心里很难受.