图书介绍

数据库技术丛书 REDIS开发与运维【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

数据库技术丛书 REDIS开发与运维
  • 付磊,张益军编著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111557975
  • 出版时间:2017
  • 标注页数:442页
  • 文件大小:58MB
  • 文件页数:460页
  • 主题词:数据库-基本知识

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

数据库技术丛书 REDIS开发与运维PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 初识Redis1

1.1 盛赞Redis1

1.2 Redis特性2

1.3 Redis使用场景5

1.3.1 Redis可以做什么5

1.3.2 Redis不可以做什么5

1.4 用好Redis的建议6

1.5 正确安装并启动Redis6

1.5.1 安装Redis7

1.5.2 配置、启动、操作、关闭Redis8

1.6 Redis重大版本11

1.7 本章重点回顾14

第2章 API的理解和使用15

2.1 预备15

2.1.1 全局命令15

2.1.2 数据结构和内部编码18

2.1.3 单线程架构19

2.2 字符串21

2.2.1 命令22

2.2.2 内部编码27

2.2.3 典型使用场景28

2.3 哈希31

2.3.1 命令32

2.3.2 内部编码35

2.3.3 使用场景36

2.4 列表38

2.4.1 命令38

2.4.2 内部编码43

2.4.3 使用场景44

2.5 集合46

2.5.1 命令46

2.5.2 内部编码50

2.5.3 使用场景51

2.6 有序集合52

2.6.1 命令53

2.6.2 内部编码59

2.6.3 使用场景59

2.7 键管理60

2.7.1 单个键管理60

2.7.2 遍历键67

2.7.3 数据库管理70

2.8 本章重点回顾73

第3章 小功能大用处74

3.1 慢查询分析74

3.1.1 慢查询的两个配置参数75

3.1.2 最佳实践77

3.2 Redis Shell78

3.2.1 redis-cli详解78

3.2.2 redis-server详解82

3.2.3 redis-benchmark详解83

3.3 Pipeline84

3.3.1 Pipeline概念84

3.3.2 性能测试85

3.3.3 原生批量命令与Pipeline对比86

3.3.4 最佳实践87

3.4 事务与Lua87

3.4.1 事务87

3.4.2 Lua用法简述90

3.4.3 Redis与Lua92

3.4.4 案例94

3.4.5 Redis如何管理Lua脚本96

3.5 Bitmaps98

3.5.1 数据结构模型98

3.5.2 命令98

3.5.3 Bitmaps分析101

3.6 HyperLogLog102

3.7 发布订阅105

3.7.1 命令106

3.7.2 使用场景108

3.8 GEO109

3.9 本章重点回顾112

第4章 客户端113

4.1 客户端通信协议113

4.2 Java客户端Jedis117

4.2.1 获取Jedis117

4.2.2 Jedis的基本使用方法118

4.2.3 Jedis连接池的使用方法122

4.2.4 Redis中Pipeline的使用方法125

4.2.5 Jedis的Lua脚本126

4.3 Python客户端redis-py128

4.3.1 获取redis-py128

4.3.2 redis-py的基本使用方法128

4.3.3 redis-py中Pipeline的使用方法130

4.3.4 redis-py中的Lua脚本使用方法130

4.4 客户端管理131

4.4.1 客户端API132

4.4.2 客户端相关配置145

4.4.3 客户端统计片段145

4.5 客户端常见异常146

4.6 客户端案例分析149

4.6.1 Redis内存陡增149

4.6.2 客户端周期性的超时151

4.7 本章重点回顾153

第5章 持久化154

5.1 RDB154

5.1.1 触发机制154

5.1.2 流程说明155

5.1.3 RDB文件的处理156

5.1.4 RDB的优缺点156

5.2 AOF157

5.2.1 使用AOF157

5.2.2 命令写入157

5.2.3 文件同步158

5.2.4 重写机制159

5.2.5 重启加载161

5.2.6 文件校验162

5.3 问题定位与优化162

5.3.1 fork操作162

5.3.2 子进程开销监控和优化163

5.3.3 AOF追加阻塞165

5.4 多实例部署166

5.5 本章重点回顾167

第6章 复制168

6.1 配置168

6.1.1 建立复制168

6.1.2 断开复制170

6.1.3 安全性170

6.1.4 只读170

6.1.5 传输延迟171

6.2 拓扑171

6.3 原理172

6.3.1 复制过程172

6.3.2 数据同步175

6.3.3 全量复制178

6.3.4 部分复制181

6.3.5 心跳183

6.3.6 异步复制184

6.4 开发与运维中的问题184

6.4.1 读写分离184

6.4.2 主从配置不一致186

6.4.3 规避全量复制186

6.4.4 规避复制风暴187

6.5 本章重点回顾188

第7章 Redis的噩梦:阻塞189

7.1 发现阻塞189

7.2 内在原因191

7.2.1 API或数据结构使用不合理191

7.2.2 CPU饱和193

7.2.3 持久化阻塞194

7.3 外在原因195

7.3.1 CPU竞争195

7.3.2 内存交换195

7.3.3 网络问题196

7.4 本章重点回顾199

第8章 理解内存200

8.1 内存消耗200

8.1.1 内存使用统计200

8.1.2 内存消耗划分201

8.1.3 子进程内存消耗203

8.2 内存管理204

8.2.1 设置内存上限204

8.2.2 动态调整内存上限204

8.2.3 内存回收策略205

8.3 内存优化209

8.3.1 redisObject对象209

8.3.2 缩减键值对象210

8.3.3 共享对象池211

8.3.4 字符串优化213

8.3.5 编码优化216

8.3.6 控制键的数量223

8.4 本章重点回顾225

第9章 哨兵226

9.1 基本概念226

9.1.1 主从复制的问题227

9.1.2 高可用227

9.1.3 Redis Sentinel的高可用性229

9.2 安装和部署232

9.2.1 部署拓扑结构232

9.2.2 部署Redis数据节点233

9.2.3 部署Sentinel节点234

9.2.4 配置优化236

9.2.5 部署技巧243

9.3 API244

9.4 客户端连接249

9.4.1 Redis Sentinel的客户端249

9.4.2 Redis Sentinel客户端基本实现原理249

9.4.3 Java操作Redis Sentinel251

9.5 实现原理254

9.5.1 三个定时监控任务254

9.5.2 主观下线和客观下线256

9.5.3 领导者Sentinel节点选举258

9.5.4 故障转移261

9.6 开发与运维中的问题262

9.6.1 故障转移日志分析262

9.6.2 节点运维268

9.6.3 高可用读写分离271

9.7 本章重点回顾272

第10章 集群274

10.1 数据分布274

10.1.1 数据分布理论274

10.1.2 Redis数据分区277

10.1.3 集群功能限制278

10.2 搭建集群278

10.2.1 准备节点278

10.2.2 节点握手280

10.2.3 分配槽282

10.2.4 用redis-trib.rb搭建集群284

10.3 节点通信287

10.3.1 通信流程287

10.3.2 Gossip消息287

10.3.3 节点选择290

10.4 集群伸缩291

10.4.1 伸缩原理291

10.4.2 扩容集群293

10.4.3 收缩集群301

10.5 请求路由305

10.5.1 请求重定向305

10.5.2 Smart客户端309

10.5.3 ASK重定向318

10.6 故障转移323

10.6.1 故障发现323

10.6.2 故障恢复329

10.6.3 故障转移时间334

10.6.4 故障转移演练334

10.7 集群运维336

10.7.1 集群完整性336

10.7.2 带宽消耗337

10.7.3 Pub/Sub广播问题337

10.7.4 集群倾斜338

10.7.5 集群读写分离339

10.7.6 手动故障转移341

10.7.7 数据迁移344

10.8 本章重点回顾344

第11章 缓存设计346

11.1 缓存的收益和成本346

11.2 缓存更新策略347

11.3 缓存粒度控制349

11.4 穿透优化350

11.5 无底洞优化352

11.6 雪崩优化359

11.7 热点key重建优化360

11.8 本章重点回顾364

第12章 开发运维的“陷阱”365

12.1 Linux配置优化365

12.1.1 内存分配控制365

12.1.2 swappiness367

12.1.3 THP369

12.1.4 OOM killer370

12.1.5 使用NTP371

12.1.6 ulimit371

12.1.7 TCPbacklog372

12.2 flushall/flushdb误操作372

12.2.1 缓存与存储373

12.2.2 借助AOF机制恢复373

12.2.3 RDB有什么变化374

12.2.4 从节点有什么变化374

12.2.5 快速恢复数据374

12.3 安全的Redis375

12.3.1 Redis密码机制377

12.3.2 伪装危险命令378

12.3.3 防火墙380

12.3.4 bind380

12.3.5 定期备份数据381

12.3.6 不使用默认端口381

12.3.7 使用非root用户启动381

12.4 处理bigkey382

12.4.1 bigkey的危害382

12.4.2 如何发现382

12.4.3 如何删除383

12.4.4 最佳实践思路386

12.5 寻找热点key386

12.6 本章重点回顾391

第13章 Redis监控运维云平台 CacheCloud392

13.1 CacheCloud是什么392

13.1.1 现有问题393

13.1.2 CacheCloud基本功能393

13.2 快速部署395

13.2.1 CacheCloud环境需求395

13.2.2 CacheCloud快速开始395

13.3 机器部署397

13.3.1 部署脚本398

13.3.2 添加机器399

13.4 接入应用400

13.4.1 总体流程401

13.4.2 账户申请和审批401

13.4.3 应用申请和审批402

13.4.4 客户端接入405

13.5 用户功能407

13.5.1 应用统计信息408

13.5.2 实例列表409

13.5.3 应用详情409

13.5.4 命令曲线409

13.5.5 CacheCloud Redis Shell 控制台410

13.5.6 慢查询410

13.5.7 应用拓扑411

13.6 运维功能413

13.6.1 应用运维413

13.6.2 接入已存在的Redis节点415

13.6.3 Redis配置模板416

13.6.4 迁移工具417

13.6.5 监控报警420

13.6.6 系统配置管理422

13.7 客户端上报423

13.7.1 客户端上报整体设计424

13.7.2 Jedis核心代码修改424

13.7.3 带上报功能的客户端426

13.7.4 CacheCloud客户端统计427

13.8 本章重点回顾429

第14章 Redis配置统计字典430

14.1 info系统状态说明430

14.1.1 命令说明430

14.1.2 详细说明431

14.2 standalone配置说明和分析436

14.2.1 总体配置436

14.2.2 最大内存及策略437

14.2.3 AOF相关配置437

14.2.4 RDB相关配置438

14.2.5 慢查询配置438

14.2.6 数据结构优化配置439

14.2.7 复制相关配置439

14.2.8 客户端相关配置440

14.2.9 安全相关配置440

14.3 Sentinel配置说明和分析440

14.4 Cluster配置说明和分析441

热门推荐