Redis核心原理与实践分析Redis核心功能的内部机制与实现方式了解Redis的内部运行机制 pdf下载pdf下载

Redis核心原理与实践分析Redis核心功能的内部机制与实现方式了解Redis的内部运行机制百度网盘pdf下载

作者:
简介:本篇提供书籍《Redis核心原理与实践分析Redis核心功能的内部机制与实现方式了解Redis的内部运行机制》百度网盘pdf下载
出版社:钰恒店
出版时间:
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍



商品参数

商品基本信息,请以下列介绍为准
图书名称: Redis核心原理与实践
作者: 梁国斌
定价: 138.00
ISBN号: 9787121415487
出版社: 电子工业出版社


内容简介

本书深入地分析了Redis核心功能的内部机制与实现方式,大部分内容源自对Redis源码的分析,并

从中总结出实现原理。通过阅读本书,读者可以快速、轻松地了解Redis的内部运行机制。 本书首

先介绍了Redis常用的数据类型的编码格式,包括字符串、列表、散列、集合、有序集合,这是Re

dis存储数据的基础。接着分析了Redis的事件机制,剖析了Redis事件驱动的实现原理,通过这部分

内容,读者可以了解一个远程服务程序的整体架构。本书还分析了Redis持久化、主从复制、Senti

nel机制、Cluster机制的实现原理,这部分内容是Redis的核心功能。在这部分内容中,本书也会延

伸分析Redis中使用的UNIX机制,如UNIX网络编程、进程通信、线程同步等,并通过Redis源码展

示这些UNIX机制的使用方式。 本书后介绍了Redis的**特性,包括事务、非阻塞删除、Lua脚本

、Module模块、Stream消息流,以及Redis 6提供的ACL访问控制列表、Tracking机制等,这部

分内容不仅分析内部实现,还提供了详细的使用案例,帮助读者循序渐进地了解这些特性。


编辑引荐


新版本:基于Redis 6.0.9,分析了Redis特性,如Redis 6的ACL、Tracking等机制。


重实践:本书在对应知识点的基础上提供了详细的应用示例,帮助读者循序渐进、由浅到深地学习

和理解Redis特性。


易掌握:本书总结了Redis各个核心功能的实现原理,并以适量图文,对Redis源码及其实现原理进

行详细分析,向读者展示Redis核心功能的设计思想和实现流程。


可扩展:本书由Redis延展出了两方面内容:一是Redis中使用的UNIX机制,二是如何通过Redis实

现一个分布式系统,主要是Sentinel、Cluster机制的实现原理。



作者简介

多年软件设计与开发经验。Redis长期使用者,熟悉Redis的核心原理与实现方式。公众号(binec

y)的维护者,主要分享各类软件和框架的源码分析。



目录

第1部分数据结构与编码

第1章字符串

1.1redisObject

1.2sds

1.2.1定义

1.2.2操作分析

1.2.3编码

第2章列表

2.1ziplist

2.1.1定义

2.1.2字节序

2.1.3操作分析

2.1.4级联更新

2.2quicklist

2.2.1定义

2.2.2操作分析

2.2.3编码

第3章散列

3.1字典

3.1.1定义

3.1.2操作分析

3.1.3扩容

3.1.4缩容

3.1.5编码

3.2数据库

第4章集合

4.1无序集合

4.1.1定义

4.1.2操作分析

4.1.3编码

4.2有序集合

4.2.1定义

4.2.2操作分析

4.2.3编码

第2部分事件机制与命令执行

第5章Redis启动过程

5.1服务器定义

5.2main函数

5.3Redis初始化过程

第6章事件机制

6.1Redis事件机制概述

6.2Redis启动时创建的事件

6.3事件循环器的运行

第7章epoll与网络通信

7.1I/O复用模型

7.2epoll网络编程

7.3Redis网络通信启动过程

7.3.1Redis网络服务

7.3.2Redis中的epoll

第8章客户端

8.1定义

8.2创建客户端

8.3关闭客户端

8.4客户端配置

第9章Redis命令执行过程

9.1RESP协议

9.2解析请求

9.3返回响应

9.4执行命令

第10章网络I/O线程

10.1线程概述

10.2互斥量概述

10.3初始化I/O线程

10.4解析请求

10.5I/O线程主逻辑

10.6返回响应

10.7I/O线程状态切换

第3部分持久化与复制

第11章RDB

11.1RDB定时逻辑

11.2RDB持久化过程

11.2.1fork子进程

11.2.2生成RDB文件

11.2.3写入RDB数据

11.2.4父进程收尾

11.3RDB文件加载过程

11.4RDB文件分析示例

11.5RDB配置

11.6UNIX写时复制机制

11.7UNIX I/O与缓存

11.7.1内核缓冲区

11.7.2I/O缓存区

11.7.3sync与fdatasync

第12章AOF

12.1AOF定时逻辑

12.2AOF持久化过程

12.2.1命令传播

12.2.2刷新AOF缓冲区

12.2.3同步磁盘

12.3AOF重写过程

12.3.1fork子进程

12.3.2子进程处理

12.3.3父进程收尾

12.4AOF文件加载过程

12.5AOF文件分析示例

12.6AOF配置

第13章主从复制

13.1流程概述

13.2主从握手流程

13.2.1处理REPLICAOF命令

13.2.2主从连接

13.2.3握手流程

13.3从节点同步流程

13.3.1发送PSYNC命令

13.3.2部分同步

13.3.3全量同步

13.4主节点同步流程

13.4.1处理PSYNC命令

13.4.2全量同步

13.4.3部分同步

13.4.4部分同步的实现细节

13.5PSYNC2

13.5.1从节点重启

13.5.2Cluster故障转移

13.6主从复制流程

13.7定时逻辑

13.8主从复制配置

第4部分分布式架构

第14章Raft算法

14.1分布式一致性的难点

14.2CAP理论

14.3Raft算法的设计

14.3.1领导选举

14.3.2日志复制

14.3.3安全性

14.4Redis中的Raft算法

第15章Redis Sentinel

15.1Redis Sentinel的应用示例

15.2Redis Sentinel的实现原理

15.2.1定义

15.2.2Sentinel节点启动

15.2.3Sentinel机制的主逻辑

15.2.4Sentinel节点建立网络连接

15.2.5Sentinel机制的定时消息

15.3Redis Sentinel的故障转移

15.3.1主观下线

15.3.2客观下线

15.3.3开始故障转移

15.3.4选举leader节点

15.3.5故障转移状态机

15.4客户端交互

第16章Redis Cluster

16.1Redis Cluster的应用示例

16.1.1搭建Redis Cluster集群

16.1.2客户端重定向

16.1.3槽位迁移案例

16.2Redis Cluster槽位管理

16.2.1定义

16.2.2重定向的实现

16.2.3槽位迁移的实现

16.3Redis Cluster启动过程

16.3.1节点启动

16.3.2节点握手

16.3.3指派槽位

16.3.4建立主从关系

16.4Redis Cluster节点通信

16.4.1Gossip算法

16.4.2消息定义

16.4.3建立连接

16.4.4握手过程

16.4.5定时消息

16.5Redis Cluster的故障转移

16.5.1节点下线

16.5.2选举过程

16.5.3从节点晋升

16.5.4更新集群信息

16.5.5建立主从关系

第5部分**特性

第17章事务

17.1事务的应用示例

17.2事务的实现原理

17.2.1WATCH命令的实现

17.2.2MULTI、EXEC命令的实现

第18章非阻塞删除

18.1UNLINK命令的实现原理

18.2后台线程

18.2.1条件变量

18.2.2后台线程的实现

第19章内存管理

19.1动态内存分配器

19.1.1内存分配器概述

19.1.2Jemalloc设计概述

19.1.3碎片整理机制

19.2数据过期机制

19.2.1定时删除

19.2.2惰性删除

19.3数据淘汰机制

19.3.1LRU时间戳

19.3.2LFU计数

19.3.3数据淘汰算法

第20章Redis Stream

20.1Redis Stream的应用示例

20.1.1添加、读取消息

20.1.2消费组

20.1.3ACK确认

20.1.4删除消息

20.2Stream的实现原理

20.2.1listpack结构

20.2.2Rax结构

20.2.3Stream结构

20.2.4Stream持久化与复制

第21章访问控制列表ACL

21.1ACL的应用示例

21.1.1创建用户

21.1.2可执行命令授权

21.1.3可访问键授权

21.1.4Pub/Sub频道授权

21.2ACL的实现原理

21.2.1定义

21.2.2初始化ACL环境

21.2.3用户规则设置

21.2.4用户权限检查

第22章Redis Tracking

22.1Redis Tracking的应用示例

22.1.1基本应用

22.1.2广播模式

22.1.3OPTIN、OPTOUT、NOLOOP

22.1.4转发模式

22.2Redis Tracking的实现原理

22.2.1RESP3协议

22.2.2开启Redis Tracking

22.2.3记录查询键

22.2.4非广播模式下发送失效消息

22.2.5广播模式下发送失效消息

22.2.6清除记录键

第23章Lua脚本

23.1Lua脚本的应用示例

23.1.1使用EVAL命令

23.1.2redis.call函数

23.1.3类型转换

23.1.4使用Lua实现数据类型

23.1.5脚本**时

23.2Lua脚本的实现原理

23.2.1Lua与C语言交互

23.2.2Redis中的Lua

第24章Redis Module

24.1Module的应用示例

24.1.1使用Module实现数据类型

24.1.2Module API

24.1.3Module的特性

24.2Module的实现原理

24.2.1C语言动态库

24.2.2定义

24.2.3初始化Module的执行环境

24.2.4加载Module

24.2.5创建Module命令

24.2.6内存自动管理

24.2.7调用Redis命令

24.2.8自定义数据类型