第1章 简介
1.1 历史与发展
1.2 特性
1.2.1 存储结构
1.2.2 内存存储与持久化
1.2.3 功能丰富
1.2.4 简单稳定
第2章 准备
2.1 安装Redis
2.1.1 在POSIX系统中安装
2.1.2 在OS X系统中安装
2.1.3 在Windows中安装
2.2 启动和停止Redis
2.2.1 启动Redis
2.2.2 停止Redis
2.3 Redis命令行客户端
2.3.1 发送命令
2.3.2 命令返回值
2.4 配置
2.5 多数据库
第3章 入门
3.1 热身
3.2 字符串类型
3.2.1 介绍
3.2.2 命令
3.2.3 实践
3.2.4 命令拾遗
3.3 散列类型
3.3.1 介绍
3.3.2 命令
3.3.3 实践
3.3.4 命令拾遗
3.4 列表类型
3.4.1 介绍
3.4.2 命令
3.4.3 实践
3.4.5 命令拾遗
3.5 集合类型
3.5.1 介绍
3.5.2 命令
3.5.3 实践
3.5.4 命令拾遗
3.6 有序集合类型
3.6.1 介绍
3.6.2 命令
3.6.3 实践
3.6.4 命令拾遗
第4章 进阶
4.1 事务
4.1.1 概述
4.1.2 错误处理
4.1.3 WATCH命令介绍
4.2 过期时间
4.2.1 命令介绍
4.2.2 实现访问频率限制之一
4.2.3 实现访问频率限制之二
4.2.4 实现缓存
4.3 排序
4.3.1 有序集合的集合操作
4.3.2 SORT命令
4.3.3 BY参数
4.3.4 GET参数
4.3.5 STORE参数
4.3.6 性能优化
4.4 消息通知
4.4.1 任务队列
4.4.2 使用Redis实现任务队列
4.4.3 优先级队列
4.4.4 "发布/订阅"模式
4.4.5 按照规则订阅
4.5 管道
4.6 节省空间
4.6.1 精简键名和键值
4.6.2 内部编码优化
第5章 实践
5.1 PHP与Redis
5.1.1 安装
5.1.2 使用方法
5.1.3 简便用法
5.1.4 实践:用户注册登录功能
5.2 Ruby与Redis
5.2.1 安装
5.2.2 使用方法
5.2.3 简便用法
5.2.4 实践:自动完成
5.3 Python与Redis
5.3.1 安装
5.3.2 使用方法
5.3.3 简便用法
5.3.4 实践:在线的好友
5.4 Node.js与Redis
5.4.1 安装
5.4.2 使用方法
5.4.3 简便用法
5.4.4 实践:IP地址查询
第6章 脚本
6.1 概览
6.1.1 脚本介绍
6.1.2 实例:访问频率限制
6.2 Lua语言
6.2.1 Lua语法
6.2.2 标准库
6.2.3 其他库
6.3 Redis与Lua
6.3.1 在脚本中调用Redis命令
6.3.2 从脚本中返回值
6.3.3 脚本相关命令
6.3.4 应用实例
6.4 深入脚本
6.4.1 KEYS与ARGV
6.4.2 沙盒与随机数
6.4.3 其他脚本相关命令
6.4.4 原子性和执行时间
第7章 持久化
7.1 RDB方式
7.1.1 根据配置规则进行自动快照
7.1.2 用户执行SAVE或BGSAVE命令
7.1.3 执行FLUSHALL命令
7.1.4 执行复制时
7.1.5 快照原理
7.2 AOF方式
7.2.1 开启AOF
7.2.2 AOF的实现
7.2.3 同步硬盘数据
第8章 集群
8.1 复制
8.1.1 配置
8.1.2 原理
8.1.3 图结构
8.1.4 读写分离与一致性
8.1.5 从数据库持久化
8.1.6 无硬盘复制
8.1.7 增量复制
8.2 哨兵
8.2.1 什么是哨兵
8.2.2 马上上手
8.2.3 实现原理
8.2.4 哨兵的部署
8.3 集群
8.3.1 配置集群
8.3.2 节点的增加
8.3.3 插槽的分配
8.3.4 获取与插槽对应的节点
8.3.5 故障恢复
第9章 管理
9.1 安全
9.1.1 可信的环境
9.1.2 数据库密码
9.1.3 命名命令
9.2 通信协议
9.2.1 简单协议
9.2.2 统一请求协议
9.3 管理工具
9.3.1 redis-cli
9.3.2 phpRedisAdmin
9.3.3 Rdbtools
附录A Redis命令属性
附录B 配置参数索引
附录C CRC16实现参考