Redis
你的头发真的好长
这个作者很懒,什么都没留下…
展开
-
简读笔记_Redis设计与实现_第一章_数据结构与对象
第一部分 数据结构与对象 简单动态字符串(SDS simple dynamic string) Redis没有直接使用C语言传统的字符串表示,而是自己构建了SDS这样的抽象数据类型,并将SDS作为Redis默认字符串表示 SDS示例 SDS与C字符串的区别 常数复杂度获取字符串长度 C字符串需要遍历字符数组并计数,时间复杂度为O(N) 而SDS的len属性记录了已占用长度,时...原创 2019-04-21 16:40:11 · 166 阅读 · 0 评论 -
简读笔记-Redis设计与实现第二章
第二部分 单机数据库的实现 数据库 服务器中的数据库 Redis服务器的所有数据库都保存在redisServer.db数组中,而数据库的数量使用redisServer.dbnum属性保存 切换数据库 客户端通过修改目标数据库指针,让它指向redisServer.db数组中的不同元素来切换不同的数据库 数据库键空间 数据库主要由dict和expires两个字典域构成,其中dict字典负责...原创 2019-04-22 21:47:36 · 171 阅读 · 0 评论 -
简读笔记-Redis设计与实现第四章
第四部分 独立功能的实现 Redis设计与实现简读笔记链接 第一章_数据结构与对象 第二章_单机数据库的实现 第三章__多机数据库的实现 第四章_独立功能的实现 发布订阅 两种类型的订阅 订阅频道 订阅模式 SUBSCRIBE "news.it" //订阅频道 SUBSCRIBE "news.[ie]t" //订阅模式 PUBLISH "news.it" "hello" //发布消息 频...原创 2019-05-02 14:32:20 · 147 阅读 · 0 评论 -
简读笔记-Redis设计与实现第三章
第三部分 多机数据库的实现 复制 1.旧版复制功能的实现 旧版复制分为两个阶段 : 同步 和 命令传播 同步过程的执行步骤 从服务器向主服务器发送SYNC命令 收到SYNC命令后,主服务器开始执行BGSAVE操作生成RDB文件,并使用一个缓冲区记录现在开始执行的所有写命令(用于命令传播阶段保持数据库一致性)。 当主服务器的BGSAVE操作执行完时,主服务器会将BGSAVE命令生成的RDB...原创 2019-04-24 01:00:46 · 139 阅读 · 0 评论