内容简介
1 为何选择Redis?
合适之选?
尝试使用Redis
流行的使用模式
今非昔比
总结
2 高级键管理与数据结构
Redis键
Redis键模式
键分隔符和命名约定
手动创建Redis模式
解构Redis对象映射器
键过期
键的注意事项
大O符号
为自定义代码计算大O符号
回顾Redis数据结构的时间复杂度
字符串
哈希
列表
集合
有序集合
高级有序集合操作
位串和位操作
HyperLogLogs
总结
3 内存管理的建议与技巧
配置Redis
主从复制
32位Redis
INFO memory详解
键过期
LRU键驱逐策略
创建内存高效的Redis数据结构
小巧的哈希、列表、集合和有序集合
把位、字节和Redis字符串用作随机访问数组
优化哈希,高效存储
硬件和网络延迟
操作系统建议
总结
4 Redis编程第一部分:Redis核心、客户端和编程语言
Redis的内部结构
理解redis.h和redis.c
Redis序列化协议
Redis RDB格式
使用Redis和Python创建协程
使用Node.js和Redis实现Todo列表应用
复制与公共访问
总结
5 Redis编程第二部分:Lua脚本、管理与DevOps
在Redis中使用Lua
使用Redis的KEYS和ARGV
Redis中的高级Lua脚本
MARC21数据提取
纸质文具在线商店
让JSON-LD、Lua和Redis协同工作
Redis Lua调试器
Redis的编程与管理
主从复制
使用MULTI和EXEC实现事务
Redis在DevOps中扮演的角色
总结
6 可伸缩性:Redis集群和Sentinel
数据分区的方法
范围分区
列表分区
哈希分区
复合分区
键哈希标签
使用Twemproxy实现Redis集群
使用关联数据片段服务器测试Twemproxy
Redis集群的背景
Redis集群概览
使用Redis集群
Redis集群实时重新配置及重新分片
故障转移
在Redis集群中替换或者升级节点
使用Redis Sentinel进行监控
为区域代码列表分区配置Redis Sentinel
总结
7 Redis与互补的NoSQL技术
NoSQL技术的繁荣
Redis作为MongoDB的分析补充
Redis作为ElasticSearch的预处理组件
在BIBCAT中使用Redis和ElasticSearch
ElasticSearch、Logstash和Redis
Redis作为Fedora Commons的智能缓存补充
总结
8 Docker容器与云端部署
Linux容器
与Redis相关的Docker基础
Docker镜像中的层
Docker文件系统后端
Docker和Redis的问题
使用Docker Compose打包应用程序
Redis和AWS
专门的云托管选项
Redis Labs
DigitalOcean Redis
总结
9 任务管理与消息队列
Redis的发布/订阅模式概述
发布/订阅RESP回复
SUBSCRIBE和UNSUBSCRIBE RESP数组
PSUBSCRIBE和UNSUBSCRIBG数组
使用redis-cli进行发布/订阅
Redis发布订阅实战
第一个工作站采用Python进行发布订阅
第二个工作站采用Node.js进行发布订阅
第三个工作站使用Lua客户端进行发布订阅
Redis键空间通知
使用Redis和Celery进行任务管理
GIS和RestMQ
使用RestMQ进行任务管理
使用Redis技术进行消息通信
使用Disque进行消息通信
总结
10 信息流的测量与管理
基于Redis的ETL方案
将JSON转换成RESP
管理Redis时的安全考虑
使用Redis Web仪表板进行运营监测
机器学习
朴素贝叶斯与工作分类
使用Redis实现线性规划
总结
附录:来源