新闻资讯
看你所看,想你所想

Redis设计与实现

《Redis设计与实现》是2014年6月机械工业出版社出版的图书,作者是黄健宏。本书讲解了Redis的内部机制与实现方式,对Redis赵白陈万父的大多数单机功能以及所有多机功能的实现原理进行了介绍,展示了这些功能的核心数据结构以及关键的算法思想,并给出大量参考信息。

  • 书名 Redis设计与实现
  • 作者 黄健宏
  • 出版社 机械工业出版社
  • 出版时间 2014年6月
  • 定价 79.00

内容简介

  本书 主要分为四大部分。第一部分"数据结构与对象"介绍了Redis中的各种对象及其数据结构,并说明这些数据结构如何影响对象的功能和性能。第二部分"单机数据库的实现"对讨夫垂对溶Redis实现单来自机数据库的方法进行了介绍,包括数据库、RDB持久化、AOF持久化、事件等。第三部分"多机数据库的实现"对Redis的Sentinel、复制、集群三个多机功能进行了介绍。第四部分"独立功能的实现"对Redis中各个相对独立的功能模块进行了介绍,涉及发布与订阅、事务、Lua脚本掉毛船鸡史组稳、排序、二进制位数组、慢查询日志、监视器等。

图书目录

  第1章 引言 1

  1.1 Redis版本说明 1

  1.2 章节编排 1

  1.善片农图低与沙么参3 推荐的阅读方法 4

  1.4 行文规则 4

  1.5 配套网站 5

  第一部分 数据结构与对象

  第2章 简单动态字符串 8

  2.1 SDS的定义 9

  2.2 SDS与C360百科字符串的区别 10

  2.3 SDS API 17

  2.4 重点回顾 18

  2.5 参考资料 18

  第3章 链表 19

  3.1 链表和链表节点的实现 20

  3.2 链表和链表节点的API 21

  3.3 重点回顾 22

  第4章 字典 23

  4.1 字典的记便来伤奏施实现 24

  4.2 哈希算法 27

  4.3 解决键冲突 28

  4.4 rehash 29

  4.5 渐附屋进式rehash 32

  4.6 字典API 36

  4.7 重点回顾 37

  第5章 跳跃表 38

  5.1 硫处拉立与先剂心色跳跃表的实现 39

 地表夜 5.2 跳跃表API 44

  5.3 重点回顾 45

  第6章 整数集合 46

  士味互刘门宪科放医6.1 整数集合的实现 46

  6.2 升级 48

  6.3 升级的好处 50

  6.4 降级 51

  6.5 整数集合API 51

  6.6 重点回顾 51

  第7章 压缩列表 52

  7.1 压缩列表的构成 52

  7.2 压缩列表节点的构成 54

  7.3 连锁更新 57

  7.4 压缩列表API 59

  7.5 重点回顾 59

  第8章 对象 60

  8.1 对象的类型与编至厂限程身条码 60

  8.2 字符串对象 64

  8.3 列表对象 68

  8.4 哈希对象 71

  8.5 集合对象 线把吧胞物你思思75

  8.6 有序集合对象 77

  8.7 类型检查与命令多态 81

  8.8 内存回纸束鸡美怎呀收 84

  8.9 对象共享 85

  8.10 对象的空转时长 87

  8.11 重点回顾 88

  第二部分 单机数据库的实现

  第9章 数据库 90

  慢义肥散了9.1 服务器中的数据库 90

  9.2 切换数据库 91

  9.3 数据库键空间 93

  9.4 设置键的生存时间或过期时间 99

  9.5 过期键删除策略 1触生消走岁景酸触际07

  9.6 Redis的过期键删除策略 108

  9.7 AOF、RDB和复制功能对过期键的处理 111

  9.8 数据库通知 己许完销另称报样113

  9.9 重点回顾 117

  第10章 RDB持久化 118

  10.1 RDB 文件的创建评露剧试求措北早吗划与载入 119

  10.2 自动间隔性保存 121

  1训干标0.3 RDB 文件结构 125

  村历班投明思血坚10.4 分析RDB文件 133

  10.5 重点回顾 137

  10.6 参考资料 137

  第11章 AOF持久化 138

  11.1 AOF持久化的实现 139

  11.2 AOF文件的载入与数据还原 142

  11.3 AOF重写 143

  11.4 重点回顾 150

  第12章 事件 151

  12.1 文件事件 151

  12.2 时间事件 156

  12.3 事件的调度与执行 159

  12.4 重点回顾 161

  12.5 参考资料 161

  第13章 客户端 162

  13.1 客户端属性 163

  13.2 客户端的创建与关闭 172

  13.3 重点回顾 174

  第14章 服务器 176

  14.1 命令请求的执行过程 176

  14.2 serverCron函数 184

  14.3 初始化服务器 192

  14.4 重点回顾 196

  第三部分 多机数据库的实现

  第15章 复制 198

  15.1 旧版复制功能的实现 199

  15.2 旧版复制功能的缺陷 201

  15.3 新版复制功能的实现 203

  15.4 部分重同步的实现 204

  15.5 PSYNC 命令的实现 209

  15.6 复制的实现 211

  15.7 心跳检测 216

  15.8 重点回顾 218

  第16章 Sentinel 219

  16.1 启动并初始化Sentinel 220

  16.2 获取主服务器信息 227

  16.3 获取从服务器信息 229

  16.4 向主服务器和从服务器发送信息 230

  16.5 接收来自主服务器和从服务器的频道信息 231

  16.6 检测主观下线状态 234

  16.7 检查客观下线状态 236

  16.8 选举领头Sentinel 238

  16.9 故障转移 240

  16.10 重点回顾 243

  16.11 参考资料 244

  第17章 集群 245

  17.1 节点 245

  17.2 槽指派 251

  17.3 在集群中执行命令 258

  17.4 重新分片 265

  17.5 ASK错误 267

  17.6 复制与故障转移 273

  17.7 消息 281

  17.8 重点回顾 288

  第四部分 独立功能的实现

  第18章 发布与订阅 290

  18.1 频道的订阅与退订 292

  18.2 模式的订阅与退订 295

  18.3 发送消息 298

  18.4 查看订阅信息 300

  18.5 重点回顾 303

  18.6 参考资料 304

  第19章 事务 305

  19.1 事务的实现 306

  19.2 WATCH 命令的实现 310

  19.3 事务的ACID 性质 314

  19.4 重点回顾 319

  19.5 参考资料 320

  第20章 Lua脚本 321

  20.1 创建并修改Lua 环境 322

  20.2 Lua 环境协作组件 327

  20.3 EVAL命令的实现 329

  20.4 EVALSHA 命令的实现 332

  20.5 脚本管理命令的实现 333

  20.6 脚本复制 336

  20.7 重点回顾 342

  20.8 参考资料 343

  第21章 排序 344

  21.1 SORT <key> 命令的实现 345

  21.2 ALPHA 选项的实现 347

  21.3 ASC 选项和DESC 选项的实现 348

  21.4 BY选项的实现 350

  21.5 带有ALPHA 选项的BY 选项的实现 352

  21.6 LIMIT 选项的实现 353

  21.7 GET选项的实现 355

  21.8 STORE 选项的实现 358

  21.9 多个选项的执行顺序 359

  21.10 重点回顾 361

  第22章 二进制位数组 362

  22.1 位数组的表示 363

  22.2 GETBIT命令的实现 365

  22.3 SETBIT 命令的实现 366

  22.4 BITCOUNT 命令的实现 369

  22.5 BITOP 命令的实现 376

  22.6 重点回顾 377

  22.7 参考资料 377

  第23章 慢查询日志 378

  23.1 慢查询记录的保存 380

  23.2 慢查询日志的阅览和删除 382

  23.3 添加新日志 383

  23.4 重点回顾 385

  第24章 监视器 386

  24.1 成为监视器 387

  24.2 向监视器发送命令信息 387

  24.3 重点回顾 388

作者简

  黄健宏 软件开发者,他喜欢函数式编程,热爱来自开源软件。出于对数据库的强烈兴趣,他开始阅读和分析 Redis 源代码,并对 Redis 2.6 和 Redis 3.0 的源代码进行了详细注释。他翻译并维护着 Redis 中文文档网站 ,编写了 OORedis 库。

转载请注明出处累积网 » Redis设计与实现

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:fendou3451@163.com