第1章 初識Redis 1
1.1Redis快速入門1
1.1.1Redis簡介1
1.1.2Redis特性2
1.2Redis環境搭建3
1.2.1在Windows下安裝Redis4
1.2.2在Linux下安裝Redis7
1.3Redis可視化工具13
1.4搭建Redis集群環境14
1.4.1配置VMware準備安裝
CentOS15
1.4.2安裝Linux18
1.4.3安裝VMware Tools20
1.4.4虛擬機與宿主機的網絡設置21
1.4.5復制虛擬機25
第2章Redis常用數據類型及命令28
2.1String類型28
2.1.1SET28
2.1.2SETNX29
2.1.3SETEX29
2.1.4SETRANGE30
2.1.5MSET30
2.1.6MSETNX31
2.1.7APPEND31
2.1.8GET32
2.1.9MGET32
2.1.10GETRANGE33
2.1.11GETSET33
2.1.12STRLEN34
2.1.13DECR34
2.1.14DECRBY35
2.1.15INCR35
2.1.16INCRBY36
2.2Hash類型36
2.2.1HSET36
2.2.2HSETNX37
2.2.3HMSET37
2.2.4HGET37
2.2.5HMGET38
2.2.6HGETALL38
2.2.7HDEL38
2.2.8HLEN39
2.2.9HEXISTS39
2.2.10HINCRBY40
2.2.11HKEYS40
2.2.12HVALS41
2.3List類型41
2.3.1LPUSH41
2.3.2LPUSHX42
2.3.3RPUSH42
2.3.4RPUSHX43
2.3.5LPOP43
2.3.6RPOP44
2.3.7LLEN44
2.3.8LREM45
2.3.9LSET46
2.3.10LTRIM47
2.3.11LINDEX48
2.3.12LINSERT49
2.3.13RPOPLPUSH49
2.4Set類型50
2.4.1SADD51
2.4.2SREM51
2.4.3SMEMBERS52
2.4.4SCARD52
2.4.5SMOVE53
2.4.6SPOP53
2.4.7SRANDMEMBER54
2.4.8SINTER55
2.4.9SINTERSTORE55
2.4.10SUNION56
2.4.11SUNIONSTORE56
2.4.12SDIFF57
2.4.13SDIFFSTORE57
2.5Sorted Set類型58
2.5.1ZADD58
2.5.2ZREM59
2.5.3ZCARD60
2.5.4ZCOUNT61
2.5.5ZSCORE61
2.5.6ZINCRBY62
2.5.7ZRANGE62
2.5.8ZREVRANGE63
2.5.9ZREVRANGEBYSCORE64
2.5.10ZRANK64
2.5.11ZREVRANK65
2.5.12ZREMRANGEBYRANK65
2.5.13ZREMRANGEBYSCORE66
2.5.14ZINTERSTORE67
2.5.15ZUNIONSTORE68
2.6Redis HyperLogLog69
2.6.1Redis HyperLogLog
常用命令69
2.6.2Redis HyperLogLog實例69
第3章Redis常用命令71
3.1鍵值相關命令71
3.1.1KEYS71
3.1.2SCAN72
3.1.3EXISTS73
3.1.4DEL73
3.1.5EXPIRE73
3.1.6TTL74
3.1.7SELECT74
3.1.8MOVE74
3.1.9PERSIST75
3.1.10RANDOMKEY75
3.1.11RENAME75
3.1.12TYPE76
3.2服務器相關命令76
3.2.1PING76
3.2.2ECHO76
3.2.3QUIT76
3.2.4DBSIZE76
3.2.5INFO77
3.2.6MONITOR79
3.2.7CONFIG GET80
3.2.8FLUSHDB80
3.2.9FLUSHALL80
第4章Redis高級主題81
4.1服務器配置81
4.1.1Redis服務器允許遠程主機
訪問81
4.1.2客戶端遠程連接Redis
服務器82
4.1.3設置密碼82
4.1.4Redis端口修改83
4.1.5查看配置84
4.1.6修改配置84
4.1.7配置項說明84
4.2Redis事務86
4.2.1Redis事務的常用命令86
4.2.2簡單事務控制87
4.2.3取消一個事務87
4.2.4樂觀鎖控制復雜事務88
4.3Redis發布和訂閱90
4.3.1Redis發布和訂閱的
常用命令90
4.3.2Redis發布和訂閱實例90
4.4Redis管道91
4.5數據備份與恢復92
4.6Redis性能測試93
4.7Redis客戶端連接94
4.8Redis服務開機自啟動94
4.8.1Windows下Redis服務
開機自啟動95
4.8.2Linux下Redis服務
開機自啟動96
4.9Redis內存分析工具97
第5章Redis緩存的持久化99
5.1持久化機制99
5.1.1配置RDB100
5.1.2配置AOF101
5.2Redis過期key清除策略103
第6章Redis集群環境部署105
6.1主從復制105
6.1.1Redis主從復制原理106
6.1.2Redis主從復制安裝過程106
6.1.3Redis測試主從復制關繫108
6.2哨兵模式109
6.2.1災備切換Sentinel的使用109
6.2.2Redis Sentinel的安裝與
配置111
6.2.3測試主從切換116
6.3Redis集群118
6.3.1Redis集群環境118
6.3.2開始Redis集群搭建119
6.3.3Redis集群代理125
6.3.4Redis集群特點128
6.3.5新增Redis集群節點130
6.3.6刪除Redis集群節點139
第7章Redis開發實戰142
7.1搭建開發Redis的Java
開發環境142
7.1.1在Windows下安裝Java 8142
7.1.2安裝Tomcat 9145
7.1.3搭建IntelliJ IDEA
開發環境146
7.2使用Java操作Redis147
7.2.1連接Redis的兩種方式147
7.2.2操作String150
7.2.3操作Map151
7.2.4操作List152
7.2.5操作Set153
7.2.6排序153
7.2.7Redis存儲圖片154
7.2.8Redis存儲Object158
7.2.9Redis存儲和計算用戶
訪問量161
7.3Redis調用方式162
7.3.1普通同步162
7.3.2事務162
7.3.3管道163
7.3.4管道中調用事務163
7.4Redis集群與Java164
7.5實例1:使用Redis獲取用戶的
共同好友164
7.5.1初始化數據165
7.5.2使用Jedis獲取用戶的
共同好友165
7.6實例2:在Tomcat上使用Redis
保存Session166
7.6.1分布式Session166
7.6.2持久化Tomcat Session到
Redis167
7.6.3安裝服務器 Tomcat和反向
代理服務器Nginx168
7.6.4配置Tomcat集群173
7.6.5配置Tomcat使用Redis
管理Session177
第8章Spring Boot與Redis
整合應用179
8.1Spring Boot項目搭建與Redis
整合應用179
8.1.1Spring Boot簡介179
8.1.2使用Spring Initializr
新建項目180
8.1.3Spring Boot結合Redis
實戰184
8.2RedisTemplate API詳解186
8.2.1寫入和讀取緩存186
8.2.2添加和獲取散列數據187
8.2.3添加和獲取列表數據188
8.2.4添加和獲取集合數據188
8.2.5添加和獲取有序集合數據188
8.2.6優化控制器189
8.3Spring Boot集成Spring Session190
8.3.1配置Spring Boot項目190
8.3.2創建配置類和控制器類191
8.3.3編譯和部署項目193
第9章Redis監控196
9.1Redis監控指標196
9.1.1使用INFO命令196
9.1.2使用redis-stat206
9.2自定義監控208
9.2.1前端頁面210
9.2.2WebSocket與消息推送215
9.2.3創建控制器類220
9.2.4業務邏輯222
9.2.5常用工具類226
第10章Redis的緩存設計與優化230
10.1Redis緩存的優點和缺點230
10.2緩存雪崩231
10.3緩存穿透231
10.4布隆過濾器232
10.4.1布隆過濾器簡介232
10.4.2Redis加載布隆過濾器
模塊233
10.4.3在項目中使用布隆
過濾器236
第11章擴展知識237
11.1配置CentOS 7237
11.1.1關閉防火牆237
11.1.2配置國內yum倉庫238
11.2Maven基礎知識239
11.2.1Maven的基本概念239
11.2.2Maven下載240
11.2.3Maven安裝241
11.2.4修改從Maven中心倉庫
下載到本地的JAR包的
默認存儲位置242
11.2.5Maven的簡單使用244
11.2.6pom.xml文件中的groupId
和artifactId到底該怎麼
定義244
11.2.7常用Maven命令244
11.3配置IntelliJ IDEA245
11.3.1配置JDK245
11.3.2配置Maven247
11.3.3配置Tomcat249
11.3.4創建簡單的Maven項目250
11.3.5導入Maven項目進行
配置253
11.4使用VMware254
11.4.1配置虛擬機的靜態IP
地址254
11.4.2恢復網絡設置255
11.4.3重新生成虛擬機網卡的
MAC地址255
11.5配置SecureCRT256
11.5.1設置打開的連接顯示在
一個頁面257
11.5.2傳輸文件和下載文件257
11.5.3顯示中文258
11.6Chrome的常用技巧259
11.6.1打開開發者工具控制臺259
11.6.2基本輸出259
11.6.3Chrome禁用緩存260
11.7使用Python 3操作Redis
集群260
11.7.1在Windows下安裝
Python 3260
11.7.2在Linux下安裝Python 3266
11.7.3使用Redis模塊267