Fork me on GitHub

随笔分类 -  redis

摘要:最近在二刷《Redis设计与实现》,顺便把Redis的源码也撸了一遍。以下是我对照Redis v3.0的源码将Redis复制、哨兵和集群相关流程整理了一遍供大家参考。 流程图使用OmniGraffle做的,为了方便分析尽量都对每个流程按照不同视角或是不能功能部分分了图层处理。以下也都会先以分图层展示 阅读全文
posted @ 2020-08-16 18:33 insaneXs 阅读(366) 评论(0) 推荐(0)
摘要:发布与订阅 Redis 的发布与订阅功能有 命令, 命令, 命令, 命令等组成。 客户端可以通过 命令订阅一个或多个频道,当其它客户端向被订阅的频道发送消息时,频道所有的订阅者都会收到这消息。 频道的订阅与退订 Redis会在 中用 字典来记录订阅的客户端和频道的关系。其中字典的键是被订阅的频道,而 阅读全文
posted @ 2019-11-22 20:03 insaneXs 阅读(315) 评论(0) 推荐(0)
摘要:复制 在Redis中,用户可以通过 命令或是 选项设置服务器的主从关系,从(SLAVE)服务器会复制主(Master)服务器。 旧版复制功能实现(2.8以前) 旧版复制功能主要分为两个过程: 同步(SYNC)和命令传播(COMMAND PROPGATE)。 同步过程: 当从服务器执行 命令时,从服务 阅读全文
posted @ 2019-11-18 19:55 insaneXs 阅读(355) 评论(0) 推荐(0)
摘要:概要 本部分内容主要是研究单机数据库。分别介绍单机数据库的实现原理,数据库的持久化,Redis事件,服务器维护管理客户端以及单机服务器的运作机制。 数据库 数据库结构 Redis数据库由 定义,结构如下: 一个 RedisServer 可以有多个 RedisDB ,默认情况下为 16 。 Redis 阅读全文
posted @ 2019-10-12 16:25 insaneXs 阅读(442) 评论(0) 推荐(0)
摘要:前言 本书是Redis设计与实现的读书笔记,旨在对Redis底层的数据结构及实现有一定了解。本书所有的代码基于Redis 3.0。 简单动态字符串 SDS Redis没有直接使用C语言中的字符串,而是自己构建了一种叫简单动态字符串(Simple Dynamic String,SDS)的类型。 使用S 阅读全文
posted @ 2019-09-07 15:13 insaneXs 阅读(307) 评论(0) 推荐(0)