Redis开发实战(视频讲解版)

Redis设计与实现,提供数千分钟完整视频讲解,Java工程师完整开发系列
分享 推荐 0 收藏 17 阅读 1.4K
李兴华 (作者) 978-7-115-62230-3

关于本书的内容有任何问题,请联系 刘博

1、有效的技术学习体系:本土化的图书作者应该充分的考虑到读者的学习习惯,所以在进行图书设计时,我们从最基础的知识进行讲解,而后将这些内容整合到实际应用的开发之中,让读者可以建立起有效的技术关联,可以更轻松的理解架构方面的设计思想,以及高并发问题的解决方案;
2、将Redis讲解透彻:读者可以发现我们这本图书中所讲解的内容都是Redis中最为核心的技术项,而后围绕这些技术项进行了Redis相关技术的扩展,而除了Redis之外,并没有采用常见到的“几合一”的图书编写模式(例如将Redis与MongoDB一起写,Redis与SQL数据库一起编写),这样可以让读者从不同的方面去理解Redis的实际应用,以达到更有效的学习目的;
3、理论与实战相结合:Redis内部牵扯到了许多的调优机制,我们在进行讲解时,除了为大家讲解了这些调优机制的设计原理之外,也基于一些核心的源代码结构进行了分析,同时将概念与实际配置联系在一起,为的是可以让读者理解的更加透彻。
4. 配套资源丰富:附有配套视频、源代码、习题、教学课件等资源。为了帮助读者更好地学习本书,作者还提供了在线答疑。

内容摘要

本书在编写时考虑到了Redis的实际应用场景,所以认真详细分析了Java中的三种Redis开发结构,包括Lettuce、SpringDataRedis以及与SpringBoot的整合开发,整体的图书编写中基于Linux系统环境,按照由浅至深的顺序递进知识体系。从最基础的服务安装、常用数据类型、Redis配置管理、Java开发、Lua编程,一直讲解到集群架构以及RedisStack。
在本书中除了讲解Redis基本使用之外,还包含有各种的Java应用技术场景,包括:接口幂等性、分布式锁、响应式开发、SpringSession、Nginx、Keepalived、抢红包、OpenResty、访问限流、应用灰度发布等与当前互联网开发中联系紧密的设计方案。
除了与主流开发紧密结合之外, 本书还对RedisStack进行了扩充,分析了RedisJSON存储、RediSearch检索、Roaring Bitmap、RedisGraph、RedisTimeSeries、RedisCell、RedisAI等开发模块的配置与使用,为读者后续的知识面扩充提供了丰富的知识储备。

目录

第 1 章 Redis 概述 ...................................... 1
1.1 NoSQL 数据库 ..................................... 1
1.2 Redis 简介 ............................................ 2
1.3 Redis 组件安装 .................................... 5
1.4 Redis 服务配置 .................................... 6
1.5 Redis 基础认证 .................................... 8
1.6 redis-benchmark .................................... 9
1.7 本章概览............................................. 10
第 2 章 Redis 数据操作............................. 12
2.1 Redis 数据存储 .................................. 12
2.1.1 文本数据类型 ............................ 13
2.1.2 keys 命令 .................................... 16
2.1.3 Hash 数据类型 ........................... 17
2.1.4 数字操作 .................................... 19
2.2 Redis 集合数据 .................................. 20
2.2.1 List 数据类型 ............................. 20
2.2.2 Set 数据类型 .............................. 23
2.2.3 ZSet 数据类型 ............................ 25
2.3 Redis 扩展数据类型 ........................... 28
2.3.1 位操作 ........................................ 28
2.3.2 HyperLogLog .............................. 32
2.3.3 GEO 数据类型 ........................... 33
2.4 本章概览............................................. 35
第 3 章 Redis 服务配置............................. 36
3.1 Redis 数据持久化............................... 36
3.1.1 RDB 持久化机制 ....................... 37
3.1.2 RDB 数据恢复案例 ................... 39
3.1.3 AOF 持久化机制 ........................ 41
3.1.4 AOF 数据恢复案例 .................... 43
3.2 Redis 线程模型 .................................. 44
3.3 Redis 过期数据淘汰 ........................... 46
3.4 listpack ................................................ 50
3.5 碎片整理 ............................................. 51
3.6 SLOWLOG ......................................... 52
3.7 延迟监控 ............................................. 53
3.8 SSL 证书 ............................................. 54
3.9 ACL ..................................................... 56
3.9.1 ACL 用户管理 ............................ 58
3.9.2 ACL 配置文件 ............................ 60
3.9.3 RedisInsight ................................. 61
3.10 Redis 可视化监控 ............................. 62
3.10.1 Redis Exporter ........................... 63
3.10.2 Prometheus 安装与配置 ........... 65
3.11 本章概览 ........................................... 67
第 4 章 Redis 编程开发 ............................. 68
4.1 Lettuce ................................................. 68
4.1.1 RedisClient .................................. 72
4.1.2 StatefulRedisConnection ............. 73
4.1.3 Redis 连接池 ............................... 75
4.1.4 RedisAsyncCommands ............... 76
4.1.5 RedisReactiveCommands ............ 81
4.2 Spring Data Redis ................................ 83
4.2.1 Spring Data 连接 Redis 数据库 .. 83
4.2.2 RedisTemplate ............................. 86
4.2.3 对象序列化处理 ......................... 87
4.2.4 Pipeline 命令流水线 ................... 90
4.2.5 Spring Cache 整合 Redis ............ 91
4.3 分布式锁 ............................................. 93
4.4 接口幂等性 ......................................... 97
4.5 响应式数据操作 ............................... 100
4.6 Web 集群与分布式 Session 管理 ..... 102
4.6.1 Spring Session ........................... 104
4.6.2 nginx 负载均衡配置 ................. 107
4.6.3 搭建 Keepalived 服务 ............... 109
4.7 本章概览 ........................................... 112
第 5 章 Redis 进阶编程............................ 113
5.1 Redis 乐观锁 ..................................... 113
5.1.1 Lettuce 乐观锁 .......................... 115
5.1.2 Spring Data Redis 乐观锁 ........ 118
5.2 发布订阅模式 ................................... 119
5.2.1 Lettuce 实现发布订阅模式 ...... 120
5.2.2 Spring Data Redis 实现发布
订阅模式 .................................. 123
5.3 Stream ............................................... 124
5.3.1 Stream 消息处理 ...................... 125
5.3.2 Stream 消费组 .......................... 128
5.3.3 Lettuce 实现 Stream 机制 ........ 129
5.3.4 Spring Data Redis 实现 Stream
机制 .......................................... 131
5.4 Lua 脚本 ........................................... 133
5.4.1 Lua 核心语法 ........................... 134
5.4.2 Redis 执行 Lua 程序 ................ 136
5.4.3 Redis 执行 Lua 脚本 ................ 137
5.4.4 Redis 实现商品定时抢购 ......... 138
5.4.5 Redis 流量限制 ......................... 140
5.4.6 Function .................................... 143
5.5 抢红包案例分析 ............................... 145
5.5.1 红包拆分 ................................... 146
5.5.2 红包创建 ................................... 149
5.5.3 红包争抢 ................................... 151
5.6 应用灰度发布案例 ........................... 154
5.6.1 OpenResty 服务安装 ................ 156
5.6.2 resty.redis 模块 ......................... 158
5.6.3 灰度发布 ................................... 159
5.7 本章概览 ........................................... 162
第 6 章 Redis 集群架构........................... 163
6.1 Redis 主从架构 ................................. 163
6.1.1 Lettuce 整合 Redis 主从架构 ... 165
6.1.2 Spring Data Redis 整合 Redis 主从架构 .................................. 167
6.2 Redis 哨兵机制 ................................. 171
6.2.1 配置 Redis 哨兵集群 ................ 173
6.2.2 Lettuce 整合哨兵 ...................... 176
6.2.3 Spring Data Redis 整合哨兵 ..... 177
6.3 Redis Cluster ..................................... 179
6.3.1 配置 Redis Cluster 服务 ........... 182
6.3.2 Lettuce 整合 Redis Cluster ........ 187
6.3.3 Spring Data Redis 整合 Redis
Cluster ....................................... 189
6.3.4 动态追加 Redis Cluster 数据
节点 ........................................... 191
6.3.5 动态删除 Redis 数据节点 ........ 194
6.3.6 predixy 集群代理 ...................... 196
6.4 本章概览 ........................................... 197
第 7 章 Redis Stack ................................ 199
7.1 RedisJSON ........................................ 200
7.1.1 RedisJSON 命令 ....................... 202
7.1.2 Spring Boot 整合 RedisJSON ... 204
7.2 RediSearch ......................................... 206
7.2.1 RediSearch 命令 ........................ 207
7.2.2 RediSearch 整合 RedisJSON .... 212
7.2.3 RediSearch 中文检索 ................ 213
7.3 RedisBloom ....................................... 217
7.3.1 布隆过滤器 ............................... 219
7.3.2 布谷鸟过滤器 ........................... 221
7.3.3 Top-K ......................................... 224
7.3.4 T-Digest ..................................... 226
7.3.5 Count-Min Sketch ..................... 228
7.4 RoaringBitmap .................................. 229
7.5 RedisTimeSeries ................................ 231
7.6 RedisGraph ........................................ 234
7.7 Redis-Cell .......................................... 237
7.8 RedisAI .............................................. 240
7.9 本章概览 ........................................... 241
第 8 章 Ubuntu 操作系统 ........................ 243
8.1 Ubuntu 安装与配置 .......................... 243
8.1.1 安装 Ubuntu 操作系统 ............. 247
8.1.2 配置 SSH 连接 .......................... 249
8.1.3 配置 Linux 操作系统 ................ 251
8.1.4 配置系统时区时间 ................... 253
8.1.5 配置静态 Ip 地址 ..................... 253
8.1.6 扩展数据存储 .......................... 254
8.2 Ubuntu 服务配置 .............................. 256
8.2.1 配置 FTP 服务 .......................... 256
8.2.2 系统防火墙 .............................. 258
8.2.3 JDK 安装与配置 ...................... 259
8.2.4 Tomcat 安装与配置 .................. 260
8.2.5 MySQL 安装与配置 ................. 262
8.3 搭建系统集群 ................................... 265
8.3.1 配置 Linux 集群主机 ............... 266
8.3.2 配置 SSH 免登录 ...................... 267
8.4 本章概览 ........................................... 268

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

李兴华 一线开发技术讲师,系统架构师,20 年以上软件行业从业经验,15 年原创编程图书写作经验,现致力于公益教学,为学生打造零成本学习生态。技术方向主要为编程语言、系统架构、数据库、移动端开发、前端开发、大数据等,已出版的图书包含 Java、Python、数据库、Android、系统架构等方面的 20 多本原创书籍。

购买本书用户

相关图书

  • ECharts数据可视化

    本书是一本采用任务驱动式体例编写的ECharts数据可视化技术教材,以通俗易懂的语言和丰富实用的任务,帮助读者...

    ¥59.80
  • 区块链技术及应用(微课版)

    郝兴伟 梁志勇

    为了适应Web 3.0时代下区块链技术发展的新趋势,同时培养高素质的区块链技术人才,编者精选了区块链的相关内容...

    ¥69.80
  • Python编程基础(项目式微课版)

    王健

    本书根据高等院校应用技术型人才培养的目标编写,适合案例学习和模块化教学相结合的教学方式。本书以真实企业开发案例...

    ¥56.00
  • 人工智能云平台部署与开发(微课版)

    易海博

    本书涵盖云计算和人工智能两大领域的内容,着重讲解人工智能应用在云平台上的部署与开发。全书共7个项目,分别介绍云...

    ¥49.80
  • 大数据技术与应用

    孔华锋

    本书循序渐进地介绍大数据全生命周期中涉及的大数据技术与应用。本书包括9章:第1章和第2章介绍大数据相关的基础理...

    ¥59.80
人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部