第 10 章 RDB 持久化 数据库状态:服务器中的非空数据库以及它们的键值对统称为数据库状态 Redis 提供 RDB 持久化功能,将内存中的数据库状态保存到磁盘中,避免数据意外丢失 RDB 文件是一个经过压缩的二进制文件,还可以通过该文件还原生成 RDB 文件时的数据库状态 10.1 RDB 文 ...
分类:
数据库 时间:
2021-06-23 16:26:57
阅读次数:
0
本篇博客是对《Redis设计与实现》的学习和总结,以加深自己的印象,很多内容直接摘自原书,如需了解相关内容建议看原书 日期:2021-1-17 Redis版本:3.0.6 配置主从复制 参与复制的Redis分为主节点(master)和从节点(slave),默认情况下Redis都是主节点。复制方向是单 ...
分类:
其他好文 时间:
2021-01-25 10:50:21
阅读次数:
0
本文摘录自 Redis设计与实现 如果客户端要连接redis集群而不是单机,则应该是./redis-cli -c 注意一定要有-c 一 搭建集群 假设现在有两台Redis,都以cluster的方式进行启动。可以通过向A发送,CLUSTER MEET B.IP B.PORT的方式,让这两个节点组成一个 ...
分类:
其他好文 时间:
2021-01-25 10:48:31
阅读次数:
0
有序集合有两种编码方式:压缩列表 ziplist 和跳表 skiplist。 ...
分类:
其他好文 时间:
2021-01-16 12:09:10
阅读次数:
0
压缩列表是 ZSET、HASH和 LIST 类型的其中一种编码的底层实现,是由一系列特殊编码的连续内存块组成的顺序型数据结构,其目的是节省内存。 ziplist 的结构 外层结构 下图展示了压缩列表的组成: 各个字段的含义如下: zlbytes:是一个无符号 4 字节整数,保存着 ziplist 使 ...
分类:
其他好文 时间:
2021-01-01 12:13:35
阅读次数:
0
参考《Redis 设计与实现》 (基于redis3.0.0) 作者:黄健宏 学习redis3.2.13 介绍整数集合的结构主要函数学习创建集合插入整数升级集合支持升级的好处容量的调整使用realloc的理由查找元素位置或可插入位置移动元素移除元素总结toc 介绍整数集合的结构主要函数学习创建集合插入 ...
分类:
其他好文 时间:
2020-12-30 11:01:13
阅读次数:
0
最近在二刷《Redis设计与实现》,顺便把Redis的源码也撸了一遍。以下是我对照Redis v3.0的源码将Redis复制、哨兵和集群相关流程整理了一遍供大家参考。 流程图使用OmniGraffle做的,为了方便分析尽量都对每个流程按照不同视角或是不能功能部分分了图层处理。以下也都会先以分图层展示 ...
分类:
其他好文 时间:
2020-08-19 19:07:30
阅读次数:
75
理解Redis通信协议是深入理解Redis的基础内容之一,今天将官网关于Redis通信协议RESP的内容搬到这里,希望对大家有所帮助。 介绍 Redis客户端使用RESP(Redis的序列化协议)协议与Redis的服务器端进行通信。 虽然该协议是专门为Redis设计的,但是该协议也可以用于其他 客户 ...
分类:
其他好文 时间:
2020-07-14 13:50:11
阅读次数:
42
参考:《Redis设计与实现》 RedisObject Redis底层的所有数据结构:都是基于对象的;RedisObject 类型; 编码; 指向实际数据的指针; typedef struct redisObject{ // 类型 unsigned type:4; // 编码 unsigned en ...
分类:
其他好文 时间:
2020-07-05 19:30:02
阅读次数:
88
开篇 SDS遵循C字符串以空字符结尾的惯例,保存空字符的1字节空间不计算在SDS的len属性里面,并且为空字符分配额外的1字节空间,以及添加空字符到字符串末尾等操作,都是由SDS函数自动完成的,所以这个空字符对于SDS的使用者来说是完全透明的。 遵循空字符结尾这一惯例的好处是,SDS可以直接重用一部 ...
分类:
其他好文 时间:
2020-05-27 00:44:23
阅读次数:
87