Protocolo de comunicación Redis Resp.

¿Qué es el protocolo de comunicación redis?

RESP es la abreviatura de REdis Serialization Protocol, que es un protocolo de serialización especialmente diseñado para redis.
Este protocolo apareció en realidad en la versión 1.2 de redis, pero finalmente se convirtió en el estándar del protocolo de comunicación de redis en redis 2.0.

El formato del protocolo de comunicación redis (RESP)

El protocolo de comunicación de Redis primero se divide en líneas, y cada línea termina con \r\n línea. Cada línea tiene un encabezado de mensaje, que se divide en 5 tipos de la siguiente manera:

+表示一个正确的状态信息,具体信息是当前行+后面的字符。
-表示一个错误信息,具体信息是当前行-后面的字符。
* 表示消息体总共有多少bulk行,不包括当前行,*后面是具体的行数。
$表示下一行数据长度,不包括换行符长度\r\n,后面则是对应的长度的数据。
:表示返回一个数值,:后面是相应的数字节符。

Ejemplo 1

El comando "set aqin 1" generalmente se serializa en
*3\r\n$3\r\nset\r\n$4\r\naqin\r\n$1\r\n1\r\nLa gente común no puede entender, por
conveniencia Para entender, formatee el ejemplo anterior

*3\r\n        -- 这个命令包含3个(bulk)字符串
$3\r\n        -- 第一个bulk string有3个字节
set\r\n       -- 第一个bulk string是set
$4\r\n        -- 第二个bulk string有4个字节
aqin\r\n      -- 第二个bulk string是agan
$1\r\n        -- 第三个bulk string有1个字节
1\r\n         -- 第三个bulk string是1

Ejecutarlo devuelve:

+OK\r\n 

Ejemplo 2

Comando "obtener aqin":
*2\r\n$3\r\nget\r\n$4\r\naqin\r\nes decir
:

*2\r\n     -- 这个命令是2个bulk字符串的数组
$3\r\n     -- 第一个bulk字符串有3个字节: get
get\r\n
$4\r\n     -- 第二个bulk字符串有4个字节: aqin
aqin\r\n

prueba y verificación

Use telnet, el método de conexión es: Después de que
la conexión telnet
sea exitosa, si redis ha establecido una contraseña, también se requiere autenticación de contraseña.En este momento, la comunicación con redis se ha establecido realmente, y se puede usar la autenticación de autenticación del comando redis: comando de autenticación
:
teclas

bodeMacBook-Pro:~ bo$ telnet xx.xx.xx.xx:xxxx
Trying xx.xx.xx.xx
Connected to xx.xx.xx.xx
Escape character is '^]'.
auth aqin
+OK
keys *
*13
$4
key9
$4
aqin
$4
key4
$4
key3
$4
key6
$4

Cada comando devuelve el formato RESP (\r\n es invisible, se refleja como una nueva línea).

Comando: establecer aqin 1

set aqin 1
+OK

Comando: obtener aqin

get aqin
$1
1

Use telnet para ejecutar "get agan" en formato RESP: *2\r\n$3\r\nget\r\n$4\r\naqin\r\n

*2
$3
get
$4
aqin 
$1
1

Supongo que te gusta

Origin blog.csdn.net/yaoyaochengxian/article/details/131505340
Recomendado
Clasificación