基本信息

编辑推荐
多名专家联袂推荐,资深专家联合撰写,深入理解Redis 5设计精髓
系统讲解Redis 5设计、数据结构、底层命令实现,以及持久化、主从复制、集群的实现
Redis 5设计与源码分析
陈雷等编著
内容简介
作译者
目录
序
前言
第1章 引言1
1.1 Redis简介1
1.2 Redis 5.0的新特性2
1.3 Redis源码概述3
1.4 Redis安装与调试4
1.5 本章小结6
第2章 简单动态字符串7
2.1 数据结构7
2.2 基本操作11
2.2.1 创建字符串11
2.2.2 释放字符串12
2.2.3 拼接字符串12
2.2.4 其余API15
2.3 本章小结15
第3章 跳跃表17
3.1 简介17
3.2 跳跃表节点与结构19
前言
2年前,我们团队建立了学习圈,团队成员可以自愿参加,每天8∶50~10∶30到公司充电100分钟,深入剖析工作中的技术栈,同时2017~2018年编写出版了《PHP 7底层设计与源码实现》一书,接着我们又深入研读了Redis的源码。2018年年初开始,我们开始了Redis源码一书的编写,起初是研读Redis 4.0版本的源码,2018年下半年5.0版本发布,增加了很多的新特性,下半年我们又在之前的基础上结合Redis 5的源码,编写了此书。
Redis是一款高性能的开源key-value型数据库,难能可贵的是代码写得非常优雅,非常适合刚入门C语言的读者阅读。本书前半部分详细介绍了Redis中的各种数据结构,适合读者学习和掌握基本的数据结构;后半部分介绍了Redis命令执行的生命周期,以及各类命令的源码实现,希望使用Redis的读者不止会使用Redis,并且能掌握它的原理和细节,提升对Redis的掌控能力。
决定编写Redis源码一书后,学习圈里方波、黄桃、李乐、施洪宝、熊浩含、闫昌、张仕华、周生政和我一起编写了这本书。大家在工作之外,每天写到深夜,周末一起探讨,经过一年的编写和校对,终于完成了这本书。希望能给使用Redis的读者一些启发,帮助更多的人理解Redis的实现。
读者对象
使用Redis的工程师、架构师
对Redis源码感兴趣的读者
有一定C语言基础的读者
如何阅读本书
本书内容逻辑上分为三篇,共计22章内容。
第一篇:第1章简单介绍了Redis,以及Redis的编译安装和研读的方式;第2~8章重点讲解了SDS、跳跃表、压缩列表、字典、整数集合、quicklist和Stream数据结构的实现。
第二篇:第9章讲解了Redis的生命周期,命令执行的过程,需要重点阅读;第10~19章,分别讲解了键、字符串、散列表、链表、集合、有序集合、GEO、HyperLog和数据流相关命令的实现。
第三篇:第20~22章简单讲解了持久化、主从复制和集群的实现,没有详细展开,希望能带读者入门。
如果读者是有一定经验的资深开发人员,本书可能会是一本不错的案头书。当然,如果读者是一名初学者,请在开始本书阅读之前,建议先掌握一些C语言和网络编程等基础理论知识。
勘误和支持
由于笔者的水平有限,编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。如果您有更多的宝贵意见,欢迎访问https://segmentfault.com/u/php7internal进行专题讨论,我们会尽量在线上为读者提供解答。同时,您也可以通过微博@PHP7内核,或者邮箱cltf@163.com联系到我们,期待能够得到您的反馈,在技术之路上互勉共进。
致谢
感谢张国辉、卢红波两位工作导师的支持,前者是我现在的领导,也是我在技术和管理方面的导师,后者是我在滴滴的领导,在技术和管理上给了我很多的指引与帮助。
感谢黑夜路人(谢华亮)兄弟的指导和支持,在技术上给了非常多的指点。
感谢黄健宏、黄鹏程、付磊、钱文品、张晋涛和吴建超兄弟的指导与建议,他们都是在Redis方面有很深研究的人。
媒体评论
1. Redis应用广泛,它有卓越的性能、丰富的数据类型,简洁高效的设计理念。
2. Redis 5带来了很多不错的新特性:
? 增加了新的流数据类型
? 更新了定时器、集群和字典相关的API
? 增加了新的有序集合命令
3. 想要做好日常开发和运维工作,需要对Redis的底层原理和实现,尤其是命令实现有一定了解。
4.本书讲了什么?
Redis架构与源码设计
Redis数据结构与命令实现
实践所需关键实现解读
5.你能得到什么?
?吸收设计精髓,提升技术素养
?理解设计,获得更好的性能
?掌握源码,更好、更快排障
?更远一点,设计自己的分布式缓存数据库