0
点赞
收藏
分享

微信扫一扫

深入理解Redis 电子书 PDF

有点d伤 2021-09-30 阅读 99
日记本

《深入理解Redis》以由浅入深、由原理到应用场景的方式介绍了Redis 这款NoSQL 数据库产品。书中不仅细致地讲解了Redis 中的数据结构及流行的使用模式,还针对Redis 键的设计和管理,以及内存管理提出了建设性的方案。同时,作者深入Redis 源码,将其内部构造通过源代码调试的方式进行呈现。

《深入理解Redis》适合有一定NoSQL 经验的开发者或者架构师阅读。读者可以从书中找到许多应用场景和解决方案,例如Docker 部署、Redis 消息队列、基于Redis 的ETL 应用和基于Redis 的机器学习等。


下载链接:https://pan.baidu.com/s/1mmLvrA3lsKViGNStYyOU6w

提取码:qu80



1 为何选择Redis? 1

合适之选? 2

尝试使用Redis 4

流行的使用模式 9

Redis 不合心意?马上再试试! 11

总结 13

2 高级键管理与数据结构 14

Redis 键 14

- - Redis 键模式 15

- - 键分隔符和命名约定 17

手动创建Redis 模式 19

- - 解构Redis 对象映射器 22

- - 键过期 27

- - 键的注意事项 27

大O 符号 28

-- 为自定义代码计算大O 符号 30

回顾Redis 数据结构的时间复杂度 32

- -字符串 32

- -哈希 33

- -列表 34

- -集合 35

有序集合 36

高级有序集合操作 39

位串和位操作 39

HyperLogLogs 41

总结 42

3 内存管理的建议与技巧 43

配置Redis 43

- -主从 44

32 位Redis 44

- - INFO memory 详解 46

键过期 48

LRU 键清除策略 53

创建内存高效的Redis 数据结构 61

- -小巧的哈希、列表、集合和有序集合 61

- -把位、字节和Redis 字符串用作随机访问数组 67

优化哈希,高效存储 68

硬件和网络延迟 71

操作系统建议 73

总结 74

4 Redis 编程第一部分:Redis 核心、客户端和编程语言 75

Redis 的内部结构 75

- - 理解redish 和redisc 82

- - Redis 序列化协议92

- - Redis RDB 格式 95

使用Redis 和Python 创建协程 98

- -使用Nodejs 和Redis 实现Todo 列表应用 102

- -复制与公共访问 105

总结 105

5 Redis 编程第二部分:Lua 脚本、管理与DevOps 106

在Redis 中使用Lua 106

使用Redis 的KEYS 和ARGV 115

Redis 中的高级Lua 脚本 119

- - MARC21 数据提取 119

- -纸质文具在线商店 121

- -让JSON-LD、Lua 和Redis 协同工作 124

Redis Lua 调试器 128

- - Redis 的编程与管理 131

- -主从复制 132

- -使用MULTI 和EXEC 实现事务 134

Redis 在DevOps 中扮演的角色 137

总结 138

6 可伸缩性:Redis 集群和Sentinel 140

数据分区的方法 140

- -范围分区 141

- -列表分区 143

- -哈希分区 146

- -复合分区 147

- -键哈希标签 148

使用Twemproxy 实现Redis 集群 149

- -使用关联数据片段服务器测试Twemproxy 150

- -Redis 集群的背景 156

- -Redis 集群概览 157

使用Redis 集群 158

- - Redis 集群实时重新配置及重新分片 163

- -故障转移 166

- -在Redis 集群中替换或者升级节点 168

使用Redis Sentinel 进行监控 169

- -为区域代码列表分区配置Redis Sentinel 171

总结 174

7 Redis 与互补的NoSQL 技术 175

NoSQL 技术的繁荣 175

Redis 作为MongoDB 的分析补充 179

Redis 作为ElasticSearch 的预处理组件 191

- -在BIBCAT 中使用Redis 和ElasticSearch 191

- - ElasticSearch、Logstash 和Redis 196

Redis 作为Fedora Commons 的智能缓存补充 197

总结 203

8 Docker 容器与云端部署 204

Linux 容器 204

与Redis 相关的Docker 基础 209

Docker 镜像中的层 217

- - Docker 文件系统后端 218

Docker 和Redis 的问题 225

使用Docker Compose 打包应用程序 225

Redis 和AWS 230

专门的云托管选项 231

Redis Labs 232

- - DigitalOcean Redis 232

总结 233

9 任务管理与消息队列 234

Redis 的发布/订阅模式概述 234

- -发布/订阅RESP 回复 235

- - SUBSCRIBE 和UNSUBSCRIBE RESP 数组 235

- - PSUBSCRIBE 和UNSUBSCRIBE 数组 237

- -使用redis-cli 进行发布/订阅 238

Redis 发布订阅实战 240

- -第一个工作站采用Python 进行发布订阅 242

- -第二个工作站采用Nodejs 进行发布订阅 244

- -第三个工作站使用Lua 客户端进行发布订阅 246

Redis 键空间通知 249

使用Redis 和Celery 进行任务管理 253

GIS 和RestMQ 257

使用RestMQ 进行任务管理 260

- -使用Redis 技术进行消息通信 262

使用Disque 进行消息通信 262

总结 264

10 信息流的测量与管理 265

基于Redis 的ETL 方案 265

- -将JSON 转换成RESP 271

- -管理Redis 时的安全考虑 277

- -使用Redis Web 仪表板进行运营监测 280

机器学习 281

- -朴素贝叶斯与工作分类 282

- -使用Redis 实现线性规划 292

举报

相关推荐

0 条评论