当前位置:主页 > 书籍配套资源 > Redis配套资源
《大数据高并发Redis一本通》配书资源

《大数据高并发Redis一本通》配书资源

  • 更新:2021-12-03
  • 大小:101.7 MB
  • 类别:Redis
  • 作者:张文亮
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

本书涵盖Redis数据类型的使用场景、各种类型的API的使用和底层数据结构源码解析、在DevOps环境中使用Redis的综合实践、Redis主从架构、RedisSentinel Redis、Redis集群环境搭建及其实现的高可用与高可扩原理等内容,提供深入浅出的实战案例,旨在帮助读者深入了解Redis数据结构领域和日常运维Redis所碰到的常见问题解决方案,。

本书适合Redis新手、所有对Redis感兴趣的开发与运维人员阅读和参考,同时还可作为高等院校相关专业的参考教程。

目录

  • 前言
  • 第1章 大数据高并发离不开Redis1
  • 1.1 NoSQL发展历程1
  • 1.2 初识Redis3
  • 1.3 Redis的魅力3
  • 1.4 喜欢Redis的理由4
  • 1.5 学习Redis的第一步6
  • 1.5.1 在Windows环境下安装Redis6
  • 1.5.2 在Linux环境下安装Redis11
  • 1.5.3 在Docker环境下安装Redis13
  • 1.5.4 Redis界面化管理工具17
  • 1.6 redis.conf文件的详细说明18
  • 1.7 Redis基本操作21
  • 1.7.1 启动Redis服务器21
  • 1.7.2 远程登录21
  • 1.7.3 切换数据库21
  • 1.7.4 删除键22
  • 1.7.5 删除当前数据库的所有键22
  • 第2章 Redis多种数据类型使用场景23
  • 2.1 String数据类型的API和使用场景23
  • 2.1.1 String数据类型的常规操作23
  • 2.1.2 结合应用场景演练24
  • 2.2 String也能做,为什么还要用Hash30
  • 2.2.1 Hash数据类型的常规操作31
  • 2.2.2 结合应用场景演练31
  • 2.3 一种类型多种用法,原来List还可以这样做34
  • 2.3.1 List模拟数据结构35
  • 2.3.2 List常规操作38
  • 2.3.3 利用列表迅速提升网站首页的并发量38
  • 2.4 开启Set数据类型的正确操作姿势39
  • 2.4.1 明星绯闻和微博瘫痪的那些事39
  • 2.4.2 抽奖逻辑39
  • 2.4.3 文章点赞或者投票40
  • 2.4.4 共同好友统计41
  • 2.5 微服务的限流操作和Zset的那些瓜葛42
  • 2.5.1 利用Zset实现限流43
  • 2.5.2 新闻排行榜场景实战47
  • 2.5.3 直播打赏排名场景实战48
  • 第3章 数据结构底层50
  • 3.1 String数据结构底层解析51
  • 3.1.1 String的三种编码51
  • 3.1.2 SDS和内存重新分配54
  • 3.1.3 embstr编码的内容追加56
  • 3.1.4 内存空间释放57
  • 3.1.5 SDS特征58
  • 3.2 Hash数据结构底层解析58
  • 3.2.1 ZipList数据结构58
  • 3.2.2 HashTable数据结构66
  • 3.2.3 ZipList和HashTable的抉择81
  • 3.3 List数据结构底层解析83
  • 3.3.1 单向链表83
  • 3.3.2 双向链表84
  • 3.3.3 Redis链表84
  • 3.3.4 快速列表86
  • 3.4 Set数据结构底层解析91
  • 3.4.1 整数集合91
  • 3.4.2 intset和HashTable的抉择94
  • 3.5 Zset数据结构底层解析95
  • 3.5.1 跳跃表数据结构解析95
  • 3.5.2 ZipList和跳跃表的抉择99
  • 第4章 数据持久化101
  • 4.1 RDB方式持久化102
  • 4.1.1 save触发方式103
  • 4.1.2 bgsave触发方式103
  • 4.1.3 后台触发105
  • 4.1.4 RDB备份的应用场景107
  • 4.2 AOF方式持久化107
  • 4.2.1 AOF持久化流程108
  • 4.2.2 相关参数配置113
  • 4.2.3 重写操作113
  • 4.3 AOF和RDB的数据恢复顺序115
  • 4.4 RDB和AOF持久化的优缺点116
  • 4.4.1 RDB持久化的优缺点116
  • 4.4.2 AOF持久化的优缺点116
  • 4.5 AOF+RDB混合模式配置117
  • 第5章 Redis的事务和Lua脚本操作119
  • 5.1 事务概述119
  • 5.2 事务使用120
  • 5.2.1 事务的三个阶段120
  • 5.2.2 事务范例120
  • 5.3 事务性质123
  • 5.3.1 原子性123
  • 5.3.2 一致性124
  • 5.3.3 隔离性124
  • 5.3.4 持久性124
  • 5.3.5 安全性125
  • 5.4 Lua脚本126
  • 5.4.1 eval126
  • 5.4.2 Lua和Redis数据类型的转换128
  • 5.4.3 脚本的原子性130
  • 5.4.4 错误处理130
  • 5.4.5 带宽和evalsha131
  • 5.4.6 脚本缓存131
  • 5.4.7 script命令和纯函数脚本132
  • 5.4.8 全局变量保护133
  • 5.4.9 内部脚本133
  • 5.4.10 沙箱和最大执行时间135
  • 5.4.11 Redis脚本命令136
  • 5.4.12 Lua脚本的好处138
  • 5.5 Lua实战138
  • 第6章 pub/sub和Stream142
  • 6.1 频道的订阅与消息发送142
  • 6.2 发布与订阅的使用143
  • 6.3 发布与订阅的原理145
  • 6.4 订阅模式146
  • 6.5 pub和sub使用范例147
  • 6.6 与其他发布和订阅比较148
  • 6.7 Stream概述148
  • 6.8 Stream实例154
  • 6.8.1 同组消费模式154
  • 6.8.2 不同组消费模式155
  • 6.8.3 消息确认157
  • 第7章 主从复制158
  • 7.1 主从复制概述159
  • 7.2 主从复制工作原理159
  • 7.2.1 连接建立阶段160
  • 7.2.2 数据同步阶段164
  • 7.2.3 命令传播阶段181
  • 7.2.4 身份验证183
  • 7.2.5 延迟与不一致184
  • 7.3 Redis复制的注意事项185
  • 7.3.1 复制的注意事项185
  • 7.3.2 复制的安全性185
  • 7.3.3 无须磁盘参与的复制186
  • 7.3.4 只读性质的从节点186
  • 7.3.5 主从多种模式下的问题187
  • 7.4 搭建主从节点的实例189
  • 7.4.1 以命令行方式搭建主从节点189
  • 7.4.2 以配置文件方式搭建主从节点192
  • 7.4.3 以身份验证模式搭建主从架构195
  • 7.5 主从架构的“坑”和优化技巧197
  • 7.5.1 复制超时问题197
  • 7.5.2 主从架构数据应用问题198
  • 7.5.3 主从复制中断问题199
  • 7.5.4 主从复制应用中的优化技巧199
  • 7.5.5 主从架构重要配置总结200
  • 7.6 主从架构的作用202
  • 第8章 哨兵模式203
  • 8.1 哨兵架构概述203
  • 8.2 哨兵架构的搭建204
  • 8.2.1 运行Sentinel205
  • 8.2.2 Sentinel配置205
  • 8.2.3 Windows 10搭建Redis 5版本哨兵架构211
  • 8.2.4 Linux系统哨兵架构的搭建和验证215
  • 8.3 Sentinel API217
  • 8.3.1 Sentinel命令217
  • 8.3.2 其他相关配置和说明218
  • 8.4 哨兵细节原理分析221
  • 8.4.1 sdown与odown221
  • 8.4.2 哨兵集群的自动发现机制221
  • 8.4.3 故障转移的重新配置222
  • 8.4.4 从节点选举和优先级222
  • 8.4.5 算法和内部结构223
  • 8.4.6 配置epoch223
  • 8.4.7 配置传播224
  • 8.4.8 网络分区下的一致性224
  • 8.5 客户端访问哨兵架构的系统226
  • 8.5.1 C#连接Redis哨兵架构的系统226
  • 8.5.2 Java连接Redis哨兵架构的系统227
  • 8.5.3 客户端原理227
  • 第9章 Redis集群228
  • 9.1 集群概述228
  • 9.2 集群作用228
  • 9.3 集群设计注意事项229
  • 9.4 Redis集群的搭建229
  • 9.4.1 在Windows 10下搭建Redis 5集群230
  • 9.4.2 在Linux下搭建Redis 6集群233
  • 9.5 数据分区策略234
  • 9.6 Redis一致性保证235
  • 9.7 节点通信机制236
  • 9.7.1 通信端口236
  • 9.7.2 Gossip协议237
  • 9.8 集群的其他细节239
  • 9.8.1 Redis集群中的主从复制239
  • 9.8.2 Redis集群客户端和服务器端的协议239
  • 9.8.3 故障检测241
  • 9.9 从节点的选举和提升242
  • 9.9.1 主节点回复从节点的投票请求244
  • 9.9.2 从节点选举的竞争情况245
  • 9.9.3 update消息245
  • 9.9.4 备份迁移245
  • 9.9.5 备份迁移算法246
  • 9.9.6 安全写入247
  • 9.9.7 键分布模型247
  • 9.9.8 键哈希标签249
  • 9.9.9 集群节点信息和源码249
  • 9.9.10 集群相关命令251
  • 9.10 集群重新分片251
  • 9.11 扩容和缩容253
  • 9.11.1 扩容253
  • 9.11.2 缩容258
  • 9.12 故障转移和高可用260
  • 9.13 集群使用时的注意事项262
  • 第10章 Redis 6新特征264
  • 10.1 为什么Redis 6是多线程266
  • 10.2 开启多线程267
  • 10.3 Redis服务基准测试268
  • 10.4 ACL安全策略269
  • 10.4.1 ACL规则269
  • 10.4.2 使用外部ACL文件271
  • 10.4.3 使用ACL命令配置ACL271
  • 10.4.4 ACL实例271
  • 第11章 布隆过滤器275
  • 11.1 布隆过滤器概述275
  • 11.2 环境安装275
  • 11.2.1 模块化安装275
  • 11.2.2 Docker安装276
  • 11.3 布隆过滤器的原理277
  • 11.4 应用场景278
  • 第12章 Redis内存相关策略和内存碎片279
  • 12.1 maxmemory配置279
  • 12.2 数据淘汰策略280
  • 12.3 LRU算法280
  • 12.4 LFU算法280
  • 12.5 数据过期删除策略281
  • 12.6 主从架构和数据持久化对数据的过期处理281
  • 12.7 内存碎片282
  • 12.7.1 Redis内存碎片的形成282
  • 12.7.2 内存使用情况282
  • 12.7.3 清理内存碎片283
  • 第13章 分布式锁285
  • 13.1 为什么需要分布式锁285
  • 13.2 非阻塞锁的实现和原理288
  • 13.3 阻塞锁的实现和原理290
  • 13.4 Redlock原理294
  • 13.4.1 什么是Redlock294
  • 13.4.2 单节点上实现Redlock295
  • 13.4.3 Redlock算法295
  • 第14章 高频面试题301
  • 14.1 缓存穿透301
  • 14.2 缓存击穿304
  • 14.3 缓存雪崩305
  • 附录 Redis API详情306

资源下载

资源下载地址1:https://pan.baidu.com/s/15Z9917HYoDOSUq7X_iSbrw

相关资源

网友留言