书籍作者:黄鹏程 | ISBN:9787121340819 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:3091 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
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. 作为一个流行的key-value 内存数据存储,Redis由于其性能高、数据类型丰富、API 功能强大、可用性高及架构可伸缩等特点,被称为后端的“瑞士军刀”,值得每一位开发人员学习。
2. Redis 4.0 发布后,引入了许多重大的变化和功能。本书是目前市场上版本较新的Redis书,涵盖了所有Redis 4.x的新特性,80多个设计、开发与运维的可完整运行的优化方案和案例!
3. 本书作者是中国的Redis贡献者以及美国硅谷大型互联网公司工程师,译者也是一线开发者,书中案例全部来自于他们真实的工作场景,解决方案也是他们企业级开发运维工作经验的总结,含金量超高。
4. 本书语言精练、内容丰富、翻译得当通顺,阅读和学习本书,将是一件非常轻松的事。
Redis 作为一个流行的key-value 内存数据存储,由于性能高、数据类型丰富、API 功能强大、可用性高及架构可伸缩等特点,最近受到了越来越多的关注。自2017 年以来,Redis 已经成功地在DB-Engine 数据库排行榜(DB-Engine Complete Ranking)中排到了9/10。在那之前,Redis 甚至还占据过DB-Engine 键值存储分类榜单的第一名相当长一段时间。从早期的2.x 版本到最新的4.x 版本,Redis 引入了很多优秀的特性来帮助希望在业务场景中交付低延迟服务的用户。
《Redis 4.x Cookbook 中文版》基于最新的Redis 4.x 版本,向读者提供了深入浅出的实战案例和相关的背景知识。本书涵盖了Redis 的几乎所有方面,从Redis 基本数据类型,一直到诸如高可用、集群化、管理和故障诊断等高级主题。
基于实践是最好的老师(Learning by doing is the best approach)的理念,本书的作者不遗余力地通过真实的用例向读者呈现有关Redis 的知识。换句话说,本书为许多常见的开发和维护问题提供了开箱即用的解决方案。即便是在读者的个人计算机上,只要遵循本书操作步骤小节中的步骤,读者都能够很容易地理解每一个实战案例的关键点。此外,仅仅知道如何使用Redis 达成工作目标是不够的;工作原理小节对读者在某项任务中所执行的步骤进行了解释性的说明。在更多细节小节中,本书还提供了有关Redis 内部工作原理的相关基本信息和必要的解释。读者越是了解Redis 的工作原理,就越能对工程中所涉及的权衡作出明智的决定。每一个实战案例都是按照上述的方式组织的。
最后,我们希望本书能让读者更好地了解Redis,并让读者在自己的场景中使用Redis 时能够学到更多的最佳实践。
0.1 预期读者
本书面向的是希望开始使用Redis 或加深对其认知的开发人员、架构师和DBA。如果读者想使用Redis 设计高性能、可伸缩的数据库解决方案,那么本书将通过各种各样的实战案例来引领读者全面深入地了解Redis。本书对于寻求日常运维Redis 工作中所碰到的常见问题解决方案的DBA 而言同样有用。本书涵盖了使用Redis 所涉及的所有方面,并为Redis 的日常使用提供了全方位的解决方案和技巧提示。尽管要充分利用本书需要对Redis 有一些基本的理解,但也并不是必需的。
0.2 主要内容
第1 章,开始使用Redis,主要涉及Redis 服务器端的安装和基本操作,包括启动和停止Redis服务器、使用redis-cli 连接到Redis 和获取服务器信息。在本章的最后,还介绍了Redis 事件模型和Redis 通信协议。
第2 章,数据类型,主要涉及Redis 的数据类型和操作数据类型的常见API 命令。本章介绍了Redis 4.x 版本中支持的所有数据类型(字符串string、列表list、哈希hash、集合set、有序集合sorted set、HyperLogLog 和Geo)。本章还讨论了基本的Redis 键管理。
第3 章,数据特性,主要涉及一些有用的Redis 特性,这些特性使操作数据变得更加容易。本章首先展示了如何使用位图(bitmap)、SORT 命令和设置键的过期时间。之后,向读者介绍了Redis的三个重要功能:管道(pipeline)、事务(transaction)和发布订阅(PubSub)。在本章的最后,我们演示了如何在Redis 中编写和调试Lua 脚本。
第4 章,使用Redis 进行开发,演示了如何使用Redis 开发应用程序。首先,本章讨论了Redis 的使用场景和数据类型及API 的选择。之后,本章展示了使用Redis 客户端库Jedis 和redis-py 开发Java 和Python 应用程序的示例。最后,本书介绍了在Spring Framework 中使用Redis 及在MapReduce/Spark 作业中使用Redis 的例子。
第5 章,复制(Replication),主要涉及Redis 的复制机制。本章展示了如何配置Redis 从实例并解释了Redis 主从复制的工作原理。然后,本章对Redis 调优及主从复制相关的故障排除主题进行了讨论。
第6 章,持久化(Persistence),介绍了Redis 中的两种持久化方式:RDB 和AOF。本章展示了如何在Redis 中启用RDB 和AOF 来实现持久化,并解释了持久化的工作原理。本章还讨论了RDB和AOF 之间的区别,以及如何将这两种方式结合起来使用。
第7 章,配置高可用和集群(Cluster),主要涉及Redis 的高可用相关架构。本章演示了如何配置Redis Sentinel 和Redis Cluster,并通过几个实验对Redis Sentinel 和Redis Cluster 的工作原理进行了解释。
第8 章,生产环境部署,讨论了在生产环境中部署Redis 时所要注意的事项。本章首先讨论了操作系统、网络和安全方面的考虑;之后,涉及了配置调整和日志两个主题,也对LRU 策略进行了讨论。最后,本章还讨论了Redis 的性能/压力测试。
第9 章,管理Redis,主要涉及各种Redis 的管理任务,包括更新服务器配置、使用redis-cli、
备份和恢复数据、管理内存使用、管理客户端和数据迁移等。
第10 章,故障诊断,主要涉及几个有关排除Redis 故障的实例。本章涵盖了使用慢日志来定位慢查询的例子,还演示了排除延迟、内存和进程崩溃等常见故障的案例。
第11 章,通过模块扩展Redis,讨论了如何使用Redis 模块来扩展Redis 的功能。本章讲解了Redis 模块的工作原理,并演示了如何使用Redis 模块SDK 来构建Redis 模块。
第12 章,Redis 生态环境,讲解了Redis 的第三方组件,还简要地介绍了几个流行的工具、客户端和代理。
附录A,Windows 环境搭建,介绍了如何在Windows 环境中运行Redis。
0.3 如何更好地使用本书
本书中所有的例子都是在Redis 4.x 上运行的。Linux 环境是首选,但也支持macOS X。如果读者使用的是Windows 操作系统,那么建议在VirtualBox 或VMware 中安装和运行一个Linux 操作系统。此外,要运行代码示例还需要JDK 1.8+ 及Python 2.7+ 或Python 3.4+。
0.3.1 下载示例代码
轻松注册成为博文视点社区用户(www.broadview.com.cn),扫码直达本书页面。
? 下载资源:本书如提供示例代码及资源文件,均可在下载资源处下载。
? 提交勘误:您对书中内容的修改意见可在提交勘误处提交,若被采纳,将获赠博文视点社
区积分(在您购买电子书时,积分可用来抵扣相应金额)。
? 交流互动:在页面下方读者评论处留下您的疑问或观点,与我们和其他读者一同学习交流。
页面入口:http://www.broadview.com.cn/34081
本书的示例代码包也同样托管在GitHub 上,链接为https://github.com/PacktPublishing/Redis-4.x-
Cookbook。如果示例代码在本书出版后还有更新,那么将会更新到上述链接对应的GitHub 库中。
在https://github.com/PacktPublishing上还有其他的代码及视频等资料。请读者自行查看!
0.3.2 下载彩色配图
本书还提供了一个PDF 文件,该文件中包括了本书中所用截屏/图表的彩色图像。读者可以从以下链接下载:http://www.packtpub.com/sites/default/files/downloads/Redis4xCookbook_ColorImages.pdf。
0.3.3 惯例
本书中有一些行文的惯例。
文本中的代码:表示文本中的代码、数据库表名、文件夹名、文件名、文件扩展名、路径名、占
位URL 和用户输入。例如:“打开一个终端并使用redis-cli 连接到Redis”。
一段代码形如:
for i in `seq 10`
do
nohup node generator.js hash 1000000 session:${i} &
done
所有的命令行输入或输出都遵循如下的格式:
127.0.0.1:6379> SETBIT "users_tried_reservation" 100 1
(integer) 0
粗体:表示一个新术语、一个重要的词或读者在屏幕上所看到的单词。例如,菜单或对话框中的单词。举一个例子:“点击Import Project from Sources,然后在coding 目录中选择redis-4.0.1子目录”。
0.4 小节
在本书中,读者会发现几个经常出现的标题(准备工作、操作步骤、工作原理、更多细节和相
关内容)。为了清晰地理解每一个实战案例,请按照如下的方式阅读每一小节。
0.4.1 准备工作
本节主要包括相应实战案例的主要内容,并描述了相应实战案例所需的软件和预先配置。
0.4.2 操作步骤
本节包含了完成相应实战案例所需的步骤。
0.4.3 工作原理
本节通常包括对上一节所发生的事情的详细解释。
0.4.4 更多细节
本节包含关于实战案例的额外信息,以便加深读者对实战案例的了解。
0.4.5 相关内容
本节提供了关于实战案例的其他有用信息的有用链接。
第1 章开始使用Redis
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 环境搭建
书不错,内容也不错,作者人更不错... 值得购买 !!!
2018-06-05
我喜欢,内容很丰富,工作中经常用到这些内容。
2018-06-05
完美的总结归纳分析了redis 新的特性 以及应用场景。 是DBA 必备书籍。
2018-06-05
内容详细,通俗易懂。
2018-06-11