标签:sendData utf redis value len client 笔记 key 自学
redis协议
Redis 的通信协议是基于文本的,且以行为划分,每行以 \r\n 结束。每一行都有一个消息头,消息头共分为5种分别如下:
+ 表示一个正确的状态信息,具体信息是当前行 + 后面的字符;
- 表示一个错误信息,具体信息是当前行-后面的字符;
* 表示消息体总共有多少行,不包括当前行,* 后面是具体的行数;
$ 表示下一行数据长度,不包括换行符长度 \r\n, $ 后面则是对应的长度的数据;
from socket import * client = socket(AF_INET, SOCK_STREAM) client.connect(('localhost', 6379)) def set(key,value): value = str(value) sendData = '*3\r\n$3\r\nSET\r\n${0}\r\n{1}\r\n${2}\r\n{3}\r\n'.format(len(key),key,len(value),value) client.send(sendData.encode('utf-8')) print(client.recv(1024).decode('utf-8')) def get(key): sendData = '*2\r\n$3\r\nGET\r\n${0}\r\n{1}\r\n'.format(len(key),key) client.send(sendData.encode('utf-8')) print(client.recv(1024).decode('utf-8'))View Code
标签:sendData,utf,redis,value,len,client,笔记,key,自学 来源: https://www.cnblogs.com/plyonfly/p/11437469.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。