目录
第 1 章 Redis概述
目 录
1.1 数据库 ........................................................2
1.1.1 为什么需要用数据库 ......................2
1.1.2 数据库与数据库管理系统 ..............3
1.1.3 数据库如何分类 ...............................3
1.2 NoSQL简介 ...............................................4
1.2.1 什么是NoSQL ...................................4
1.2.2 为什么使用NoSQL ..........................5
1.2.3 RDBMS 与 NoSQL的对比..............6
1.2.4 NoSQL简史 .......................................7
1.2.5 NoSQL数据库分类及产品 .............8
1.3 Redis数据库 ...............................................9
本章总结 ...........................................................12
拓展阅读 ...........................................................12
练习与实践 .......................................................13
第 2 章 Redis的安装与配置
2.1 Redis的下载 .............................................16
2.1.1 Redis官网 ........................................16
2.1.2 Redis中文网 ....................................17
2.2 Redis在Ubuntu环境中的离线安装与
配置 ...........................................................18
2.2.1 离线安装软件的存放目录约定 ...18
2.2.2 安装相关工具软件 ........................19
2.2.3 编译安装 .........................................21
2.3 在Ubuntu系统中Redis的在线安装与
配置 ...........................................................28
2.4 Windows系统中Redis的安装和配置 ...30
2.5 Redis配置详解 .........................................32
2.5.1 使用命令设置和查看Redis配置 ...32
2.5.2 查看并修改Redis的配置文件 ......33
本章总结 ...........................................................39
拓展阅读 ...........................................................39
练习与实践 .......................................................41
第 3 章 Redis的核心命令
3.1 key .............................................................44
3.1.1 key的常用命令 ...............................45
3.1.2 key命令列表 ...................................48
3.2 string ..........................................................49
3.2.1 string的常用命令 ............................50
3.2.2 string命令列表 ................................56
II
Contents
Redis 开发与运维
第 5 章 Redis的事务和锁
5.1 Redis的事务 ...........................................112
5.1.1 Redis中事务的定义 .....................112
5.1.2 Redis中事务操作的基本命令 ....113
5.2 解决Redis中的事务冲突 ......................116
5.2.1 悲观锁 ............................................116
5.2.2 乐观锁 ............................................117
5.2.3 Redis中使用乐观锁 .....................117
5.3 Redis中的事务和锁机制案例 .............118
5.3.1 需求分析 .......................................118
5.3.2 秒杀活动的基本实现 ..................119
5.3.3 解决连接超时问题 ......................121
5.3.4 解决超卖问题 ...............................123
5.3.5 解决库存遗留问题 ......................125
本章总结 .........................................................127
拓展阅读 .........................................................127
练习与实践 .....................................................128
第 4 章 Redis的发布与订阅
4.1 发布-订阅模式 ........................................98
4.1.1 Redis中的发布与订阅 ...................98
4.1.2 Redis中为什么要用发布与订阅 ..99
4.2 使用Redis的发布-订阅功能 ................100
4.2.1 基于频道(channel)的发布与
订阅 ................................................101
4.2.2 基于模式(pattern)的发布
与订阅 ...........................................103
4.2.3 Redis发布与订阅的使用 .............105
本章总结 .........................................................107
拓展阅读 .........................................................107
练习与实践 .....................................................108
3.3 list ..............................................................58
3.3.1 list的常用命令 ................................58
3.3.2 list命令列表 ....................................63
3.4 set...............................................................65
3.4.1 set的常用命令 .................................65
3.4.2 set命令列表 .....................................71
3.5 sorted set ...................................................72
3.5.1 sorted set的常用命令 .....................72
3.5.2 sorted set命令列表 ..........................77
3.6 hash ...........................................................79
3.6.1 hash的常用命令..............................80
3.6.2 hash命令列表 ..................................83
3.7 HyperLogLog ...........................................83
3.7.1 HyperLogLog的常用命令 .............84
3.7.2 HyperLogLog命令列表 .................85
3.8 Geospatial .................................................86
3.8.1 Geospatial的常用命令 ...................86
3.8.2 Geospatial命令列表 ........................89
3.9 其他命令 ..................................................89
3.9.1 连接常用命令 .................................89
3.9.2 服务器的常用命令 ........................90
3.9.3 其他命令列表 .................................93
本章总结 ...........................................................95
拓展阅读 ...........................................................95
练习与实践 .......................................................95
III
目录
第 6 章 Redis中数据的持久化
6.1 RDB持久化 ............................................132
6.1.1 RDB持久化的配置 ......................132
6.1.2 执行RDB持久化 ..........................133
6.1.3 RDB持久化的优缺点 ..................135
6.2 AOF持久化 ............................................135
6.2.1 AOF持久化的配置 .......................136
6.2.2 执行AOF持久化 ...........................137
6.2.3 AOF文件的写入和同步 ..............138
6.2.4 AOF文件重写机制 .......................139
6.2.5 AOF重写的执行流程 ..................140
6.2.6 AOF持久化的优缺点 ..................141
6.3 RDB-AOF混合持久化 .........................142
6.3.1 RDB与AOF的比较 ......................142
6.3.2 RDB-AOF混合持久化 .................142
6.3.3 RDB-AOF混合持久化的优缺点 ....144
6.4 过期键的持久化 ...................................144
6.5 数据恢复 ................................................145
本章总结 .........................................................146
拓展阅读 .........................................................146
练习与实践 .....................................................146
第 7 章 Redis的主从复制和哨兵模式
7.1 Redis的主从复制架构 ..........................150
7.1.1 Redis为什么需要主从复制 .........150
7.1.2 Redis的主从复制架构模式 .........151
7.1.3 Redis使用主从复制的主要作用 ...152
7.2 搭建Redis的主从复制环境 .................152
7.2.1 搭建“星形结构”的“一主二从”
环境 ................................................153
7.2.2 搭建“树形结构”的“一主二从”
环境 ................................................156
7.3 Redis主从复制的原理 ..........................158
7.3.1 全量复制 .......................................158
7.3.2 增量复制 .......................................159
7.3.3 断点续传 .......................................160
7.3.4 无磁盘化复制 ...............................161
7.3.5 主从复制的特点 ...........................161
7.4 Redis哨兵模式 .......................................162
7.4.1 “哨兵”模式概述 ......................162
7.4.2 “哨兵”模式的工作原理 ..........164
7.4.3 “哨兵”模式的搭建 ..................167
本章总结 .........................................................170
拓展阅读 .........................................................171
练习与实践 .....................................................171
第 8 章 Redis的集群模式
8.1 Redis的集群模式概述 ..........................174
8.1.1 什么是Redis集群 ..........................174
8.1.2 代理主机集群模式 ......................175
8.1.3 无中心化集群模式 ......................176
8.1.4 Redis集群中的哈希槽 .................176
8.1.5 Redis集群节点间的通信 .............177
8.1.6 Redis集群的MOVED重定向 ......178
8.1.7 Redis集群的特点 ..........................179
8.2 Redis集群的操作 ..................................179
8.2.1 Redis集群环境的搭建 .................179
Contents
Redis 开发与运维
IV
9.1 使用Java操作Redis ...............................196
9.1.1 Jedis的获取 ...................................196
9.1.2 使用Jedis操作单机模式Redis数
据库 ...............................................197
9.1.3 使用Jedis操作“哨兵”模式Redis
数据库 ...........................................200
9.1.4 使用Jedis操作集群模式Redis数
据库 ................................................201
9.1.5 在Spring Boot中整合Redis ..........202
第 9 章 使用程序语言操作Redis
9.2 使用Python操作Redis ...........................205
9.2.1 Python redis模块的使用 ..............206
9.2.2 Python redis-py-cluster模块的
使用 ........................................... 209
9.3 使用C# 操作Redis .................................210
9.3.1 ServiceStack.Redis库的使用 .......211
9.3.2 StackExchange.Redis库的使用 ...212
本章总结 .........................................................214
拓展阅读 .........................................................214
第 10 章 Redis常见面试题汇编
Redis常见面试题及其参考解答 ..................218 拓展阅读 .........................................................236
8.2.2 向Redis集群中添加新节点 .........183
8.2.3 收缩集群 .......................................186
8.3 Redis集群的故障恢复 ..........................189
8.3.1 有Slave节点的Master节点的故障
恢复 ................................................189
8.3.2 Master节点及其所有Slave节点的
故障恢复 .......................................191
本章总结 .........................................................191
拓展阅读 .........................................................191
练习与实践 .....................................................192
参考答案 .......................................................237 参考文献 .......................................................238
内容摘要
本书全面介绍Redis的基础知识、基本配置和高级应用,深入浅出地阐明了Redis的核心原理和实践应用技巧。全书共十章,内容包括Redis概述、Redis的安装与配置、Redis的核心命令、Redis的发布与订阅、Redis的事务和锁、Redis中数据的持久化、Redis的主从复制和哨兵模式、Redis的集群模式、使用程序语言操作Redis,以及Redis常见面试题汇编等。每章之后都配有练习题和实践题,以帮助读者巩固所学知识,达到学以致用的目的。
本书还提供了课程资源包,其中包含本书所有的案例、电子课件PPT、完整的教案和教学视频,以期能帮助读者轻松掌握本书的重点和难点内容。
本书适合作为应用型本科院校、职业院校、技工院校的计算机科学、软件工程等专业相关课程的教材使用,也可以作为程序开发人员的参考用书。
精彩内容
本书全面介绍Redis的基础知识、基本配置和高级应用,深入浅出地阐明了Redis的核心原理和实践应用技巧。全书共十章,内容包括Redis概述、Redis的安装与配置、Redis的核心命令、Redis的发布与订阅、Redis的事务和锁、Redis中数据的持久化、Redis的主从复制和哨兵模式、Redis的集群模式、使用程序语言操作Redis,以及Redis常见面试题汇编等。每章之后都配有练习题和实践题,以帮助读者巩固所学知识,达到学以致用的目的。本书还提供了课程资源包,其中包含本书所有的案例、电子课件PPT、完整的教案和教学视频,以期能帮助读者轻松掌握本书的重点和难点内容。
以下为对购买帮助不大的评价