加载中
【redis源码分析】redis cluster 集群实现

文章目录 redis集群概述 客户端重定向 槽位迁移 redis cluster 的运行流程 redis集群概述 哨兵、主从、集群,一串下来。 redis cluster 主要作用如下(虽然是显而易见了): 数据分片,流量分...

2021/12/31 18:11
88
【redis源码分析】Redis Sentinel 是如何实际解决分布式共识问题的

文章目录 开题 Sentinel 结构 Sentinel故障与安全模式:TITL模式 故障转移主逻辑 心跳监测 判断下线 及 投票表决 投票选举 leader哨兵 故障转移状态机 开题 前几篇都偏离了轨道,方知写一个系...

2021/12/30 20:10
33
分布式一致性之raft算法

文章目录 一句话简介ratf算法 分布式一致性的难点 CAP理论 分布式一致性:Raft算法 选举过程 新官上任 根正苗红 仍需努力 一句话简介ratf算法 没听过不要紧,我原先也没听过。 Raft 算法是通...

2021/12/30 05:07
45
【redis源码学习】从源码角度看主从复制(3):全量同步 && 部分同步

文章目录 全量同步 && 部分同步 从节点发起同步流程 部分同步 全量复制 全量同步 && 部分同步 上一篇,我们的主从机以及搭上线了,那么从机连上主机,自然要更新一下缺失的数据,以期达到节点...

2021/12/30 00:30
42
【redis源码学习】从源码角度看主从复制(2):主从之间的“三次握手”

主从握手流程 1、发送 REPLICAOF 命令到某个服务端,要求它成为指定服务器的从节点 2、在配置文件中写明主从关系 下面我们从从节点的视角来看主从握手环节: 一次握手 从节点使用replicaofCo...

2021/12/29 23:56
75
【redis源码学习】从源码角度看主从复制(1):前期提要

文章目录 主从复制概述 主从复制使用结构 主从复制概述 关于主从复制的概述半年前写过,篇实践性,有兴趣的小伙伴可以看一下: 【redis】跟我一起动手玩玩redis主从复制和哨兵模式 一般来说,...

2021/12/29 23:36
43
【redis源码学习】持久化机制(1):RDB

文章目录 redis 的持久化机制 RDB 定时生成RDB文件 后台生成RDB文件 生成RDB文件 将redis数据写入RDB文件中 对每个键值对的写入 redis 的持久化机制 redis有两种持久化机制,RDB && AOF,关于...

2021/12/29 07:11
65
【redis源码学习】传说中,redis使用的是单线程?

文章目录 redis 的线程模型设置 请求解析 Redis I/O 线程的启停时机 redis 命令执行过程 RESP协议 命令调用 返回响应 执行命令 redis 的线程模型设置 曾经确实是单线程,至于原因主要还是性能...

2021/12/29 00:37
73
【redis源码学习】事件机制

文章目录 redis事件机制概述 redis的事件循环器:aeEventLoop redis启动 事件循环 redis事件机制概述 1、redis使用 IO 复用 实现网络通信。 2、在Linux环境下选用epoll模式。 redis的事件循环...

2021/12/28 03:51
83
【redis源码学习】redis 中的“消息队列” Stream

文章目录 关于redis Stream Stream 结构 Stream 操作 添加消息 新增消费组 删除消息 裁剪信息流 释放消费组 查找元素 关于redis Stream redis stream 实现了大部分消息队列的功能,包括: 消...

2021/12/27 04:47
86
【redis源码学习】rax,我愿称之为“升级版字典树”

文章目录 rax VS trie 数据结构 查找函数 插入元素 删除元素 迭代 向后迭代 向前迭代 附上copyright rax VS trie 对于这个rax,那我们可更不陌生了,我觉得它就是把 trie 进行一个变种、压缩...

2021/12/26 08:32
83
【redis源码学习】紧凑列表 listpack,t_hash的御用底层结构

文章目录 listpack ziplist 的级联更新 设计图 PK listpack Stream 定制的数据结构有两个:listpack 和 rax。这篇我们先讲一下 listpack。 listpack 是对 ziplist 的优化。从5中率先在strea...

2021/12/26 07:43
34
MySQL 各整型存储范围

绝对值居于:pow(2,比特数-1) -1 tinyint:127 smallint:32 768 mediumint:8 388 607 int:2 147 483 647 bigint:这个大得很你放心......

2021/12/26 00:33
69
【redis】 属于redis的 “消息队列”:redis stream(浅析)

文章目录 关于 redis stream redis stream 使用示例 添加消息 使用示例 时间复杂度 读取消息 XREAD 时间复杂度 XRANGE 删除消息 XDEL XTRIM 关于 redis stream 这以前只知道redis有类似于消息...

2021/12/25 23:57
255
【redis源码学习】redis启动并读取配置文件的过程

文章目录 配置文件 redisServer main函数 initServerConfig loadServerConfigFromString 配置文件 一个好的项目,是无状态的。 状态在哪里?在配置文件里。 这不我的毕设马上要用到开机配置文...

2021/12/24 19:37
107
【redis源码学习】看看redis的“哈希表”实现

文章目录 抛砖引玉 redis 中 哈希表的实现 哈希函数 冲突解决 表结构 单个节点 容量变化 rehash 服务繁忙时的渐进式rehash!!! 服务空闲时的批量rehash!!! 迭代器 间接迭代,防止大批量...

2021/12/24 01:20
54
【redis源码学习】快速列表 quicklist

文章目录 关于quicklist 无损压缩算法 核心数据结构 关于quicklist 上一篇学习了ziplist,是一种很紧凑的列表。但是在中间删除的效率真的是不敢恭维。然后我也写了点自己的想法,不过倒是没有...

2021/12/23 08:52
76
【redis源码学习】redis 专属“链表”:ziplist

文章目录 问题抛出 结构设计 实际节点 基本操作 增 重新编码 解析数据 重新分配空间 接入数据 问题抛出 用过 Python 的列表吗?就是那种可以存储任意类型数据的,支持随机读取的数据结构。 ...

2021/12/23 05:30
57
关于 redisCommand 以及 redisReply

源码不长,五分钟就都能翻出来。 void* redisCommand(redisContext c,const char format,...); 返回值是一个void类型的指针,实际为指向一个redisReply类型的指针 redisReply结构体定义如下:...

2021/12/22 18:45
83

没有更多内容

加载失败,请刷新页面

返回顶部
顶部