具体描述
Redis 是一个十分热门的内存数据库,号称后端的“瑞士军刀”,它拥有诸多优良特性,已经被越来越多的公司采用,值得每一位开发者学习。通过《Redis 4.x Cookbook中文版》讲述的Redis在设计、开发和运维等方面的80 多个实战案例,读者不仅可以由浅入深地学到有关Redis 的几乎所有知识,还可以将案例中所讲解的内容直接用于包括设计、开发和运维等在内的各类生产实践。《Redis 4.x Cookbook中文版》中的每一个案例、每一个案例中所涉及的各种知识、命令和工具等,均来自作者一线企业级应用的总结;本书中总结的各类参数配置和故障诊断的案例等,也均来自作者真实企业级运维工作的经验。
《Redis 4.x Cookbook中文版》通过可实战的80 多个案例全面系统地讲解了Redis 技术应用,适合所有对Redis 感兴趣的开发与运维人员阅读和参考。
作者简介
黄鹏程过去五年多一直在中国民生银行(2017 年在世界排名前1000 名的银行中位列29 位)担任软件工程师及大数据基础设施团队的负责人,负责为整家银行提供大数据基础设施服务。同时,作为这家银行的Redis 技术负责人,他将大部分精力投入到了在生产环境中如何更好地使用Redis 中。此外,他也是一名Redis 贡献者。
王左非是一名居住在美国旧金山湾区的经验丰富的软件工程师。他有5 年多的软件行业经验,曾参与过涉及很多不同技术的项目,目前在爱彼迎(Airbnb)工作。左非乐于学习新事物和分享知识,还喜欢在闲暇之余读书、旅行和捣鼓无线电。
译者简介
梅隆魁,2013 年硕士毕业于北京邮电大学计算机科学与技术专业嵌入式系统与网络通信方向。毕业后就职于中国民生银行总行信息科技部,主要从事J2EE 企业级及分布式系统的应用和架构设计开发及项目管理工作,业余对嵌入式软硬件、移动应用开发及Android 移动安全也有所涉猎,是一名“会画圆”且“能画圆”的工程师。
目录信息
1.1 本章概要
1.2 下载和安装Redis
1.3 启动和停止Redis
1.4 使用redis-cli 连接到Redis
1.5 获取服务器信息.
1.6 理解Redis 事件模型
1.7 理解Redis 通信协议
第2 章数据类型
2.1 本章概要
2.2 使用字符串(string)类型
2.3 使用列表(list)类型
2.4 使用哈希(hash)类型
2.5 使用集合(set)类型
2.6 使用有序集合(sorted set)类型
2.7 使用HyperLogLog 类型.
2.8 使用Geo 类型.
2.9 键管理
第3 章数据特性
3.1 本章概要
3.2 使用位图(bitmap)
3.3 设置键的过期时间
3.4 使用SORT 命令
3.5 使用管道(pipeline)
3.6 理解Redis 事务(transaction)
3.7 使用发布订阅(PubSub)
3.8 使用Lua 脚本
3.9 调试Lua 脚本
第4 章使用Redis 进行开发
4.1 本章概要
4.2 Redis 常见应用场景
4.3 使用正确的数据类型
4.4 使用正确的API .
4.5 使用Java 连接到Redis
4.6 使用Python 连接到Redis
4.7 使用Spring Data 连接到Redis
4.8 使用Redis 编写MapReduce 作业
4.9 使用Redis 编写Spark 作业
第5 章复制
5.1 本章概要
5.2 配置Redis 的复制机制
5.3 复制机制的调优
5.4 复制机制的故障诊断
第6 章持久化
6.1 本章概要
6.2 使用RDB
6.3 探究RDB 文件
6.4 使用AOF
6.5 探究AOF 文件
6.6 RDB 和AOF 的结合使用.
第7 章配置高可用和集群
7.1 本章概要
7.2 配置Sentinel
7.3 测试Sentinel
7.4 管理Sentinel
7.5 配置Redis Cluster
7.6 测试Redis Cluster
7.7 管理Redis Cluster
第8 章生产环境部署
8.1 本章概要
8.2 在Linux 上部署Redis
8.3 Redis 安全相关设置
8.4 配置客户端连接选项
8.5 配置内存策略
8.6 基准测试
8.7 日志
第9 章管理Redis
9.1 本章概要
9.2 管理Redis 服务器配置
9.3 使用bin/redis-cli 操作Redis
9.4 备份和恢复
9.5 监控内存使用情况
9.6 管理客户端
9.7 数据迁移
第10 章Redis 的故障诊断
10.1 本章概要
10.2 Redis 的健康检查
10.3 使用SLOWLOG 识别慢查询
10.4 延迟问题的故障诊断
10.5 内存问题的故障诊断
10.6 崩溃问题的故障诊断
第11 章使用Redis 模块扩展Redis
11.1 本章概要.
11.2 加载Redis 模块
11.3 编写Redis 模块
第12 章Redis 生态系统
12.1 本章概要
12.2 Redisson 客户端
12.3 Twemproxy
12.4 Codis—一个基于代理的高性能Redis 集群解决方案
12.5 CacheCloud 管理系统
12.6 Pika—一个与Redis 兼容的NoSQL 数据库
附录A Windows 环境搭建
· · · · · · (收起)
读后感
我供职的公司也是 Redis 的用户,对 Redis 还算比较多的依赖,用 Redis 做 Session 缓存,用 Redis 存一些长时间(1˜7天不等)的业务中间过程数据,用 Redis 做一些简单的消息队列功能。 Redis 对我们来说太好用了,因为我们用的云厂商提供的 Redis 服务,所以我们不太需要自...
该本书的内容比较注重实操以及实际应用,并介绍了redis在各语言的使用方式。 在阅览这本书的过程,你会不自觉的打开电脑,动手去跟着书本上的操作进行实践,书本能很好的把读者带入其中。 是一本不错的redis入门、实践和运维的书籍。 总之, 书不错,内容也不错,作者人更不错...
内容详细,非常适用入门 运维和开发指导。 恩,这部书是鹏哥,预热之作,下次必出java redis 实现源码实现。 这豆瓣评论真是low,要140个字。 顺便自己打个广告,小弟平时撸撸c++多线程redis 有兴趣小伙伴一起来搞,本人纯属蛋痛,搞来打发时间。[https://github.com/danielsha...
该本书的内容比较注重实操以及实际应用,并介绍了redis在各语言的使用方式。 在阅览这本书的过程,你会不自觉的打开电脑,动手去跟着书本上的操作进行实践,书本能很好的把读者带入其中。 是一本不错的redis入门、实践和运维的书籍。 总之, 书不错,内容也不错,作者人更不错...
我供职的公司也是 Redis 的用户,对 Redis 还算比较多的依赖,用 Redis 做 Session 缓存,用 Redis 存一些长时间(1˜7天不等)的业务中间过程数据,用 Redis 做一些简单的消息队列功能。 Redis 对我们来说太好用了,因为我们用的云厂商提供的 Redis 服务,所以我们不太需要自...
用户评价
**书评二:** 这本书的排版和内容的组织结构,非常符合我这种偏爱“即查即用”的工程师的习惯。它不是一本需要从头读到尾的小说,而更像是一本随时可以摊开来参考的工具箱。我主要关注的是性能调优和特定数据结构的高级用法。市面上很多 Redis 书籍在讲 LFU/LRU 淘汰策略时,往往只停留在概念层面,但这本书里,我找到了如何在实际应用中通过调整配置参数来微妙地影响缓存的淘汰行为,这对于内存敏感的系统至关重要。而且,它对 Redis 4.x 中引入的新特性,比如内存碎片整理和模块化加载的介绍,也做到了恰到好处的平衡——既不会过度吹捧新功能,也不会轻描淡写地略过。在处理慢查询和锁竞争的章节中,作者的叙述风格非常冷静且客观,提供的代码示例都是简洁且具有代表性的。读完后,我感觉自己对 Redis 的底层运行逻辑有了更深层次的“共情”,不再是单纯地把它当作一个“Key-Value 存储”来看待了。这本教材的价值,在于它教你如何“听懂” Redis 自身发出的那些细微的“信号”。
**书评四:** 这本书的深度和广度都令人印象深刻。它不仅仅是简单地罗列 Redis 的命令,而是将这些命令置于真实的业务场景中进行解析。我最近在做一个实时排行榜的需求,用传统的方案总是力不从心。在书中关于 Sorted Set 的高级应用那一节,作者提供了一个结合 Skip List 特性的优化思路,让我茅塞顿开。更难能可贵的是,它在介绍 AOF 和 RDB 两种持久化方式时,没有采取“二选一”的简单对比,而是深入分析了不同业务场景下混合使用它们(即“既要 AOF 的可靠性,又要 RDB 的恢复速度”)的最佳实践和注意事项。这种细致入微的权衡,是初学者或者仅停留在应用层面的开发者难以自行领悟的。这本书的知识密度非常高,以至于我需要时不时地停下来,反复咀嚼其中的逻辑链条,确保自己没有漏掉任何一个关键的衔接点。
**书评五:** 作为一个资深技术人员,我发现这本书最吸引我的地方在于它对“为什么”的解释,而不仅仅是“怎么做”。很多操作的底层逻辑,比如为什么 Redis 6.0 引入的 I/O 线程模型能有效缓解 CPU 瓶颈,书中都有清晰的架构图和文字说明。它非常注重版本间的演进,这一点对于维护老旧系统和规划平滑升级至关重要。在安全加固的部分,作者提供了一套从网络层到应用层的多重防御策略,其中关于 ACL(Access Control List)的配置示例,简直是教科书级别的标准操作范本,确保了权限的最小化授权原则得以贯彻。阅读过程中,我能清晰地感受到作者在编写时,是将自己过去处理过的各种线上疑难杂症都揉碎了,然后重新结构化、模块化地呈现在读者面前。这本书的价值在于,它不仅教会你如何使用 Redis,更重要的是,它让你理解 Redis 是如何思考和运作的,这才是从“熟练工”迈向“专家”的关键一步。
**书评一:** 拿到这本书的时候,我其实是带着一种既期待又忐忑的心情。毕竟,Redis 4.x 虽然在社区中已经有了一定的声量,但要找到一本深入浅出、真正能解决实际问题的中文技术手册,可不是一件容易的事。翻开这本书的目录,那种感觉就像是找到了一个藏宝图的索引。它并没有那种高高在上的理论说教,而是直接切入实战场景。我尤其欣赏作者对于集群搭建和高可用性配置的讲解,那部分的内容细致到连配置文件中每一个参数的含义都做了详尽的剖析。比如,在讲解主从复制的延迟问题时,书中提供了一个非常直观的诊断流程,而不是简单地抛出一个解决方案。对于我们这种需要支撑高并发业务的团队来说,这本“秘籍”简直是及时雨。很多其他资料中一带而过的东西,它在这里被反复锤炼,确保读者能够真正掌握。我花了整整一个周末,跟着书中的例子敲了一遍,收获远超预期,尤其是对持久化机制的理解,清晰到了可以指导线上故障排查的程度。这本书更像是一位经验丰富的老兵,手把手地带着你穿越 Redis 部署和优化的每一个“雷区”。
**书评三:** 坦率地说,我之前尝试过几本关于 Redis 的书籍,但读起来总觉得有些吃力,要么太偏理论,要么代码过时。直到我接触到这本中文手册,才真正体会到“Cookbook”这个名字的精髓所在。它的每一个“菜谱”都针对一个明确的痛点。比如,如何安全地进行在线数据迁移,书中提供的步骤清单几乎可以作为一份标准作业流程(SOP)直接落地执行,考虑到了网络分区、数据一致性等多个维度。我特别欣赏作者在介绍模块化编程(Modules)那一章时的谨慎态度,没有鼓励读者盲目使用非官方模块,而是详细说明了引入模块时需要权衡的风险点,这体现了作者深厚的工程素养。这本书的语言风格非常务实,没有过多花哨的辞藻,所有的表达都围绕着“如何解决问题”这个核心目标。对于那些希望快速提升一线运维和开发能力的人来说,这本书的 ROI(投资回报率)极高,它节省了我大量在 Stack Overflow 上搜索碎片化信息的宝贵时间。
本书和4.0关系不大,除了第二章走马观花地介绍了GEO类型。本书行间距至少一倍,有一半的内容是各种命令和日志。我大约5分钟翻完了。想了解redis的同学还是多看那两本,一本redis设计与实现,一本redis开发与运维。
书不错,内容也不错,作者人更不错... 值得购买 !!!
对初学者来说是非常高效的入门工具书,很好!
完美的总结归纳分析了redis 新的特性 以及应用场景。 是DBA 必备书籍。
内容详细,通俗易懂。