redis 的通信协议?
时间: 2024-02-06 10:08:16 浏览: 26
Redis使用一种简单而高效的二进制安全的协议进行通信,该协议被称为RESP(Redis Serialization Protocol)。RESP协议是一种文本协议,它以行为单位进行通信,每行以\r\n结尾。
RESP协议定义了一些简单的数据类型和命令格式。以下是RESP协议的一些关键特点:
1. 简单字符串(Simple Strings):以"+"开头,后面跟着字符串内容。例如,"+OK\r\n"表示一个简单字符串"OK"。
2. 错误信息(Errors):以"-"开头,后面跟着错误信息。例如,"-ERR unknown command\r\n"表示一个错误信息"unknown command"。
3. 整数(Integers):以":"开头,后面跟着整数值。例如,":1000\r\n"表示整数值1000。
4. 批量字符串(Bulk Strings):以"$"开头,后面跟着字符串长度和字符串内容。例如,"$5\r\nhello\r\n"表示一个长度为5的字符串"hello"。
5. 数组(Arrays):以"*"开头,后面跟着数组长度和数组元素。例如,"*3\r\n$3\r\nfoo\r\n$3\r\nbar\r\n$5\r\nhello\r\n"表示一个包含3个元素的数组。
RESP协议中的命令格式由命令名称和参数组成,每个命令以数组形式表示。例如,SET命令可以表示为"*3\r\n$3\r\nSET\r\n$5\r\nmykey\r\n$7\r\nmyvalue\r\n"。
通过RESP协议,客户端可以向Redis发送命令,并接收来自Redis的响应。RESP协议的简单性和高效性使得Redis在网络通信中表现出色。