《深入理解Redis》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(美)杰里米·尼尔森(Jeremy Nelson)
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2017
  • ISBN:9787121312014
  • 页数:300 页
图书介绍:这是一本通过很多截屏和实际工作中的例子来帮助你在短时间内快速掌握Redi的快捷实用指南书。本书可以指导你用Redis服务器端脚本的lua解决复杂的工作流程,用Redis集群的分布式数据设置来测定你的数据,利用Redis补充你现有的数据库和NoSQL环境,并且利用Redis提供的大量信息帮你成为DevOps专家。本书将把你的知识提升到新的水平,帮你轻松打造迷人的应用。

1 为何选择Redis? 1

合适之选? 2

尝试使用Redis 4

流行的使用模式 9

今非昔比 11

总结 13

2 高级键管理与数据结构 14

Redis键 14

Redis键模式 15

键分隔符和命名约定 17

手动创建Redis模式 19

解构Redis对象映射器 22

键过期 27

键的注意事项 27

大O符号 28

为自定义代码计算大O符号 30

回顾Redis数据结构的时间复杂度 32

字符串 32

哈希 33

列表 34

集合 35

有序集合 36

高级有序集合操作 39

位串和位操作 39

HyperLogLogs 41

总结 42

3 内存管理的建议与技巧 43

配置Redis 43

主从复制 44

32位Redis 44

INFO memory详解 46

键过期 48

LRU键驱逐策略 53

创建内存高效的Redis数据结构 61

小巧的哈希、列表、集合和有序集合 61

把位、字节和Redis字符串用作随机访问数组 67

优化哈希,高效存储 68

硬件和网络延迟 71

操作系统建议 73

总结 74

4 Redis编程第一部分:Redis核心、客户端和编程语言 75

Redis的内部结构 75

理解redis.h和redis.c 82

Redis序列化协议 92

Redis RDB格式 95

使用Redis和Python创建协程 98

使用Node.js和Redis实现Todo列表应用 102

复制与公共访问 105

总结 105

5 Redis编程第二部分:Lua脚本、管理与DevOps 106

在Redis中使用Lua 106

使用Redis的KEYS和ARGV 115

Redis中的高级Lua脚本 119

MARC21数据提取 119

纸质文具在线商店 121

让JSON-LD、Lua和Redis协同工作 124

Redis Lua调试器 128

Redis的编程与管理 131

主从复制 132

使用MULTI和EXEC实现事务 134

Redis在DevOps中扮演的角色 137

总结 138

6 可伸缩性:Redis集群和Sentinel 140

数据分区的方法 140

范围分区 141

列表分区 143

哈希分区 146

复合分区 147

键哈希标签 148

使用Twemproxy实现Redis集群 149

使用关联数据片段服务器测试Twemproxy 150

Redis集群的背景 156

Redis集群概览 157

使用Redis集群 158

Redis集群实时重新配置及重新分片 163

故障转移 166

在Redis集群中替换或者升级节点 168

使用Redis Sentinel进行监控 169

为区域代码列表分区配置Redis Sentinel 171

总结 174

7 Redis与互补的NoSQL技术 175

NoSQL技术的繁荣 175

Redis作为MongoDB的分析补充 179

Redis作为ElasticSearch的预处理组件 191

在BIBCAT中使用Redis和ElasticSearch 191

ElasticSearch、Logstash和Redis 196

Redis作为Fedora Commons的智能缓存补充 197

总结 203

8 Docker容器与云端部署 204

Linux容器 204

与Redis相关的Docker基础 209

Docker镜像中的层 217

Docker文件系统后端 218

Docker和Redis的问题 225

使用Docker Compose打包应用程序 225

Redis和AWS 230

专门的云托管选项 231

Redis Labs 232

DigitalOcean Redis 232

总结 233

9 任务管理与消息队列 234

Redis的发布/订阅模式概述 234

发布/订阅RESP回复 235

SUBSCRIBE和UNSUBSCRIBE RESP数组 235

PSUBSCRIBE和UNSUBSCRIBG数组 237

使用redis-cli进行发布/订阅 238

Redis发布订阅实战 240

第一个工作站采用Python进行发布订阅 242

第二个工作站采用Node.js进行发布订阅 244

第三个工作站使用Lua客户端进行发布订阅 246

Redis键空间通知 249

使用Redis和Celery进行任务管理 253

GIS和RestMQ 257

使用RestMQ进行任务管理 260

使用Redis技术进行消息通信 262

使用Disque进行消息通信 262

总结 264

10 信息流的测量与管理 265

基于Redis的ETL方案 265

将JSON转换成RESP 271

管理Redis时的安全考虑 277

使用Redis Web仪表板进行运营监测 280

机器学习 281

朴素贝叶斯与工作分类 282

使用Redis实现线性规划 292

总结 296

附录:来源 298