使用golang写一个redis-cli的方法示例
redis的客户端和服务端的通信是建立在tcp连接之上, 两者之间数据传输的编码解码方式就是所谓的redis通信协议。redis 协议设计的非常易读,也易于实现,关于具体的redis通信协议请参考:redis客户端和服务端的通信是建立tcp连接之上,所以第一步自然是先建立连接后续我们发送和接受数据便都可以使用conn.Read()和conn.Write()来进行了发送请求第一个第一个字节是"*",中间是包含命令本身的参数个数,后面跟着"\r\n" 。之后使用"$"加参数字节数量并使用"\r\n"结尾,然后紧跟参数内容同时也使用"\r\n"结尾。如执行 SET key liangwt 客户端发送的请求为"*3\r\n$3\r\nSET\r\n$3\r\nkey\r\n$7\r\nliangwt\r\n"注意:。例如执行BLPOP key 1 服务端返回值"*-1\r\n"。此时客户端返回的应该是nil一个可用的redis-cli自然是一个交互式的,用户输入指令然后输出返回值。
用户评论