《高效使用Redis:一书学透数据存储与高可用集群》[50M]百度网盘|pdf下载|亲测有效
《高效使用Redis:一书学透数据存储与高可用集群》[50M]百度网盘|pdf下载|亲测有效

高效使用Redis:一书学透数据存储与高可用集群 pdf下载

出版社 机械工业出版社京东自营官方旗舰店
出版年 2024-01
页数 390页
装帧 精装
评分 9.0(豆瓣)
8.99¥ 10.99¥

内容简介

本篇主要提供高效使用Redis:一书学透数据存储与高可用集群电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com

产品特色

编辑推荐

【为什么要学习Redis?】

应用的分布式存储系统,性能卓越,源码实现简洁、高效,值得开发者深入学习。要想更好地使用Redis做好日常开发和运维工作,需要对Redis的底层原理和实现有一定了解。同时,Redis带来了很多值得尝试的新特性,比如完整的ACL权限控制模块、多线程I/O能力、重新设计的客户端缓存等。

【你能从这本书学到什么?】
理解Redis的基本概念和数据类型:Redis可以存储键-值对、字符串、哈希表、列表、集合和有序集合等数据类型,适用于多种业务场景。本书将帮助读者了解Redis的基本概念和数据类型,以及如何使用Redis来存储和检索数据。
掌握Redis的常用命令和操作:包括设置和获取键-值对,使用多种数据类型,以及使用Redis的发布-订阅功能等。通过学习这些命令和操作,读者将能够更好地使用Redis来满足自己的需求。
理解Redis的底层技术:诸如命令执行过程、持久化与备份、主从复制、哨兵等的实现原理。通过学习这些技术,读者可以深入理解Redis基于事件驱动的核心思想,以及Redis是如何保证数据的可靠性和完整性的,进而更好地备份和维护Redis数据。
理解Redis的高可用性和集群工作原理:学习Redis的高可用集群方案的设计思想与实现,读者将能理解Redis是如何将数据分布到多个节点存储,并确保数据的一致性和服务的稳定性的。

内容简介

  《高效使用Redis:一书学透数据存储与高可用集群》旨在通过介绍Redis的基础数据结构与底层实现,让读者掌握基于Redis的大规模数据存储与集群高可用的方法和技巧,快速定位并解决工作中遇到的技术难题。
  《高效使用Redis:一书学透数据存储与高可用集群》共10章,逻辑上分为三部分:第1-6章主要介绍Redis的基础知识与单机处理流程;第7-9章主要介绍集群的原理与实现;第10章主要介绍Redis在实际生产中的应用,供读者参考。
  第1章介绍了Redis的一些新特性,以及必须知道的入门知识。
  第2章详细分析了Redis的基础数据结构,包括对象、字符串、列表、字典、集合和有序集合,即Redis基础数据结构的组成和实现。
  第3章详细介绍了stream的底层实现所依赖的两种数据结构-listpack与rax的实现及其基本操作。
  第4章详细介绍了Redis的启动流程,即redisServer对文件事件和时间事件的处理方法。
  第5章主要介绍了服务端处理客户端命令请求的整个流程,涵盖读取与解析客户端命令请求、执行命令请求并返回结果的技术细节。
  第6章介绍Redis如何实现持久化,即RDB和AOF的实现原理。
  第7章讲解了Redis的主从复制实现原理,并解读了Master和Slave的源码。
  第8章主要介绍Redis哨兵的原理与实现方案。
  第9章详细介绍了Redis的集群方案的设计思想及实现。
  第10章列举了一些Redis的典型应用,如缓存、分布式锁等。

作者简介

*熊浩含
字节跳动后端高级工程师,曾就职于百度、腾讯和滴滴。对Redis等开源软件有较深的研究。乐于钻研技术难点,喜欢折腾,在学习方面总结了一套较实用的方法论。
*陈 雷
希望学产研负责人,清华大学与北京邮电大学硕士,曾在百度、腾讯和滴滴等公司工作,拥有15年产品研发经验,合著有《PHP 7底层设计与源码实现》。
*黄 桃
希望学增长研发部负责人,从事互联网服务端研发与架构工作多年,熟悉PHP、Nginx、Redis等源码实现,乐于学习与分享,合著有《PHP 7底层设计与源码实现》。
*李 乐
好未来Golang开发专家、西安电子科技大学硕士,曾就职于滴滴,乐于钻研技术与源码,合著有《Redis 5设计与源码分析》《Nginx底层设计与源码分析》。
*施洪宝
Shopee后端研发工程师、东南大学硕士,对Redis、Nginx等开源软件有较深的理解,对高并发、分布式技术有浓厚兴趣。
*周生政
与爱为舞后端高级工程师,曾就职于字节跳动、滴滴和北京环球国广媒体科技有限公司,熟悉To B和To C业务,拥有多年后端开源软件研究与实践经验,曾用Java、Go、Python、PHP开发线上系统。

内页插图

目录

目  录 Contents

前言

第1章 Redis必会知识 1

1.1 Redis 6.0的新特性 2

1.2 Redis源码结构 2

1.3 Redis的安装与调试 3

1.4 小结 6

第2章 基础数据结构解析 7

2.1 对象 7

2.2 字符串 11

2.3 列表 15

2.3.1 list 15

2.3.2 ziplist 16

2.3.3 quicklist 18

2.4 字典 25

2.4.1 基本实现 25

2.4.2 字典扩容 28

2.5 集合 30

2.5.1 intset简介 31

2.5.2 数据存储 31

2.6 有序集合 33

2.6.1 跳跃表简介 33

2.6.2 数据存储 36

2.7 小结 37

第3章 stream底层数据结构 38

3.1 stream简介 38

3.1.1 listpack 39

3.1.2 rax 41

3.1.3 stream结构 44

3.2 stream底层结构listpack

   与rax的实现 49

3.2.1 初始化 49

3.2.2 查找元素 49

3.2.3 添加元素 51

3.2.4 删除元素 53

3.2.5 遍历元素 55

3.3 stream结构的实现 55

3.3.1 初始化 55

3.3.2 添加元素 56

3.3.3 删除元素 57

3.3.4 查找元素 60

3.3.5 遍历元素 61

3.4 小结 63

第4章 Redis启动流程 64

4.1 redisServer简介 64

4.2 sever启动过程 65

4.2.1 server初始化 65

4.2.2 启动监听 68

4.3 事件处理 71

4.3.1 文件事件 72

4.3.2 时间事件 77

4.4 小结 80

第5章 一次命令请求过程 81

5.1 基础知识 81

5.1.1 客户端结构体client 81

5.1.2 命令结构体redisCommand 83

5.2 I/O多线程 86

5.2.1 I/O线程管理 87

5.2.2 I/O线程同步 89

5.3 RESP 3协议 92

5.4 命令解析 96

5.5 命令调用 98

5.6 ACL权限控制 100

5.6.1 ACL概述 100

5.6.2 ACL源码实现 104

5.7 结果返回 105

5.8 小结 108

第6章 持久化 109

6.1 备份原理 109

6.1.1 内存数据安全落盘 110

6.1.2 异步复制 112

6.1.3 文本协议与二进制协议 113

6.1.4 大小端 114

6.2 持久化配置 115

6.3 AOF 116

6.3.1 同步时机 116

6.3.2 always策略安全性 116

6.3.3 命令同步 118

6.3.4 重写机制 119

6.4 RDB 119

6.4.1 执行流程 119

6.4.2 RDB协议 120

6.4.3 文件分析 123

6.5 混合持久化 124

6.6 RDB与AOF相关配置指令 125

6.7 小结 126

第7章 主从复制 127

7.1 主从复制功能的实现 127

7.1.1 主从复制方案的原理与演进 128

7.1.2 主从复制的优化方案 130

7.2 主从复制源码分析 131

7.3 Slave源码分析 135

7.4 Master源码分析 141

7.5 小结 145

第8章 哨兵 146

8.1 哨兵简介 146

8.2 哨兵的启动 147

8.2.1 哨兵配置 147

8.2.2 启动流程 148

8.3 哨兵相关的数据结构 150

8.4 哨兵的工作原理 152

8.4.1 与Master节点及Slave节点

   建立连接 152

8.4.2 与其他哨兵建立连接 155

8.5 故障转移 157

8.6 小结 161

第9章 集群 162

9.1 数据分区 163

9.2 通信机制 165

9.2.1 维护元数据的方案 165

9.2.2 通信数据的类型 167

9.3 代码流程 172

9.3.1 初始化 173

9.3.2 定时任务 173

9.4 主从切换 175

9.4.1 自动切换 176

9.4.2 手动切换 181

9.5 副本漂移 181

9.6 分片迁移 185

9.7 小结 186

第10章 Redis应用:缓存与锁 187

10.1 缓存 187

10.1.1 常见问题及解决方案 187

10.1.2 大key问题 191

10.2 锁 194

10.2.1 单机悲观锁 196

10.2.2 单机乐观锁 199

10.2.3 官方推荐的Redlock 203

10.3 客户端缓存 207

10.3.1 基础知识 207

10.3.2 客户端缓存的使用 208

10.3.3 源码分析 211

10.4 小结 216


前言/序言

Redis是一款非常受欢迎的开源内存数据存储系统,具有高性能、可扩展、灵活等优点,在互联网和大数据领域得到了广泛应用。为了帮助读者更好地理解和应用Redis,需要一本既有理论又有实践、通俗易懂的Redis书籍。于是,本书诞生了。


本书将介绍Redis的基础知识,包括Redis的数据结构、数据存储方式、命令和使用场景等,同时深入探讨Redis的高级应用,如Redis集群、持久化、性能优化等。

本书将通过丰富的案例帮助读者更好地理解和掌握Redis,使读者能够快速上手并在实际项目中应用Redis。


希望本书能够为读者提供有价值的参考,帮助读者更好地理解Redis的基本原理和高级应用,从而实现高效的数据存储和集群管理。

【读者对象】

*Redis工程师;

*对Redis感兴趣的读者;

*有一定C语言基础的读者。


【如何阅读本书】

本书共10章。

第1章 介绍Redis 6.0的新特性以及Redis的入门知识。

第2章 详细分析Redis的基础数据结构,包括对象、字符串、列表、字典、集合和有序集合。

第3章 详细介绍stream的底层实现,包括依赖的两种数据结构listpack及rax,并介绍了这两种结构的基本操作。

第4章 详细介绍Redis启动流程,讲解了redisServer对文件事件和时间事件的处理。

第5章 主要介绍服务端处理客户端命令请求的流程,包括读取并解析客户端命令请求,执行命令请求,返回命令执行结果。通过本章的学习,读者可以理解整个命令的执行流程。

第6章 主要介绍持久化,讲解了RDB和AOF的实现原理。

第7章 讲解Redis的主从复制功能的实现原理,包括Master与Slave的源码和原理。

第8章 主要介绍Redis哨兵的原理与实现。

第9章 详细介绍Redis高可用集群方案的设计思想及实现。

第10章 列举Redis的典型应用场景—缓存和锁,以及客户端缓存的特性。

读者可以根据自己的兴趣及需要,选择阅读相关章节。