app开发与网站建设,网站背景怎么换,电商的推广方式,微商自己做网站手写Redis
参考大佬的go实现redis#xff0c;自己实现一个简单版本的用于学习go以及网络编程相关 https://github.com/HDT3213/godis https://coding.imooc.com/class/576.html #慕课网课程 源码地址#xff1a; https://gitee.com/haijun1998/go_redis RESP协议
Redis Ser…手写Redis
参考大佬的go实现redis自己实现一个简单版本的用于学习go以及网络编程相关 https://github.com/HDT3213/godis https://coding.imooc.com/class/576.html #慕课网课程 源码地址 https://gitee.com/haijun1998/go_redis RESP协议
Redis Serialization Protocol redis序列化协议包括五种消息类型
正常回复错误回复整数多行字符串数组
正常回复
以 开头以 “\r\n” 结尾的字符串形式
OK\r\n #指令正常错误回复
以 - 开头以 “\r\n” 结尾的字符串形式
-Error message \r\n #指令执行错误整数
客户端跟Redis进行通信的格式
以 : 开头以 “\r\n” 结尾的字符串形式
:123456\r\n多行字符串
以 $ 开头后面跟实际发送字节数以 “\r\n” 结尾的字符串形式
如果发送hello world
$11\r\nhello world\r\n #$开头实际的字节长度后面以\r\n结尾发送空字符串
$0\r\n\r\n #\r\n发送空字节数组
以 * 开头后面跟成员的个数
SET key value 3个字符串就是3个成员
转换后
*3\r\n$3\r\nSET\r\n$3\r\nkey\r\n$5\r\nvalue\r\n上面就是 RESP 协议的说明下面说明一下源码的模块
模块说明
aofredis aof实现common定义常量的模块config用于解析 redis.conf 的配置database数据库核心包括数据库、命令的执行datastruct数据结构模块interface顶级接口定义的模块lib一些工具文件的定义logs自定义的日志打印resp连接器、处理器、响应体的定义和实现tcptcp协议监听处理