服务是一个较抽象的概念,意在帮助使用者达到某种需求。那么对于网络服务来说,通常我们可以将其定义为一个运行在操作系统上的程序,使用者通过网络与其进行交互并得到想要的信息。
客户端和服务器通过TCP连接来进行数据交互,所以它和其它网络服务一样有一个协议。redis服务器接受命令以及命令的参数。服务器会在接到命令之后对命令进行处理,并将命令的回复传送到客户端。具体在网络层上就是:Redis在TCP端口6379上监听到来的连接,客户端连接到来时,Redis服务器为此创建一个TCP连接。在客户端与服务器端之间传输的每个Redis命令或者数据都以\r\n结尾。
redis的通讯协议包括:消息头标识和消息行,消息行里可能还有一个数据块大小的描述。redis是以行来划分的,每行以\r\n结束,且每一行都有一个消息头。
消息体一共分为5种类型:
(1)[+]表示一个正确的状态信息,具体信息是:当前行+后面的字符
(2)[-]表示一个错误信息,具体信息是:当前行-后面的字符
(3)[]表示消息体总共有多少行,不包括当前行,后面是具体的行数
(4)[ ]表示下一行数据长度,不