Redis 6 開發(fā)與實(shí)戰(zhàn)
定 價(jià):59.8 元
叢書名:大數(shù)據(jù)創(chuàng)新人才培養(yǎng)系列
- 作者:張?jiān)坪?王碩
- 出版時(shí)間:2021/8/1
- ISBN:9787115563217
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.138
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:128開
Redis是一個(gè)十分熱門的內(nèi)存數(shù)據(jù)庫,它擁有眾多優(yōu)秀特性,已經(jīng)被越來越多的公司采用,值得每一位開發(fā)者學(xué)習(xí)。通過本書講述的Redis在開發(fā)和運(yùn)維等方面的案例,讀者不僅可以系統(tǒng)地學(xué)到有關(guān)Redis的大量知識,還可以將案例中所講解的內(nèi)容用于開發(fā)和運(yùn)維等在內(nèi)的各類生產(chǎn)實(shí)踐。書中案例涉及的各種知識、命令和工具,均來自作者一線企業(yè)級應(yīng)用的總結(jié)。本書的特色在于講解知識點(diǎn)的同時(shí),輔助以大量生動的例子,以幫助讀者更好的理解Redis的使用。
本書通過實(shí)戰(zhàn)的理論和案例全面系統(tǒng)的講解了Redis技術(shù),適合所有渴望深入學(xué)習(xí)Redis的讀者。
1.覆蓋Redis 6版本。
2.在較小的篇幅里面覆蓋了絕大部分Redis核心特性,內(nèi)容相當(dāng)豐富。
3.面向初學(xué)者的行文風(fēng)格,加上大量精美圖片,幫助讀者快速掌握Redis技術(shù)。
4.不僅介紹Redis特性,還展示它們的實(shí)際用法,真正幫助讀者學(xué)會如何使用Redis。
王碩 十多年軟件開發(fā)經(jīng)驗(yàn),架構(gòu)師,項(xiàng)目經(jīng)驗(yàn)豐富,精通Java/Python/Go等,擅長云計(jì)算,大數(shù)據(jù)和物聯(lián)網(wǎng),著有《PyQt 5 快速開發(fā)與實(shí)戰(zhàn)》,《Python 3.* 全棧開發(fā)從入門到精通》等。
第1章 初識Redis 1
1.1 Redis快速入門 1
1.1.1 Redis簡介 1
1.1.2 Redis特性 2
1.2 Redis環(huán)境搭建 3
1.2.1 在Windows下安裝Redis 4
1.2.2 在Linux下安裝Redis 7
1.3 Redis可視化工具 13
1.4 搭建Redis集群環(huán)境 14
1.4.1 配置VMware準(zhǔn)備安裝
CentOS 15
1.4.2 安裝Linux 18
1.4.3 安裝VMware Tools 20
1.4.4 虛擬機(jī)與宿主機(jī)的網(wǎng)絡(luò)設(shè)置 21
1.4.5 復(fù)制虛擬機(jī) 25
第2章 Redis常用數(shù)據(jù)類型及命令 28
2.1 String類型 28
2.1.1 SET 28
2.1.2 SETNX 29
2.1.3 SETEX 29
2.1.4 SETRANGE 30
2.1.5 MSET 30
2.1.6 MSETNX 31
2.1.7 APPEND 31
2.1.8 GET 32
2.1.9 MGET 32
2.1.10 GETRANGE 33
2.1.11 GETSET 33
2.1.12 STRLEN 34
2.1.13 DECR 34
2.1.14 DECRBY 35
2.1.15 INCR 35
2.1.16 INCRBY 36
2.2 Hash類型 36
2.2.1 HSET 36
2.2.2 HSETNX 37
2.2.3 HMSET 37
2.2.4 HGET 37
2.2.5 HMGET 38
2.2.6 HGETALL 38
2.2.7 HDEL 38
2.2.8 HLEN 39
2.2.9 HEXISTS 39
2.2.10 HINCRBY 40
2.2.11 HKEYS 40
2.2.12 HVALS 41
2.3 List類型 41
2.3.1 LPUSH 41
2.3.2 LPUSHX 42
2.3.3 RPUSH 42
2.3.4 RPUSHX 43
2.3.5 LPOP 43
2.3.6 RPOP 44
2.3.7 LLEN 44
2.3.8 LREM 45
2.3.9 LSET 46
2.3.10 LTRIM 47
2.3.11 LINDEX 48
2.3.12 LINSERT 49
2.3.13 RPOPLPUSH 49
2.4 Set類型 50
2.4.1 SADD 51
2.4.2 SREM 51
2.4.3 SMEMBERS 52
2.4.4 SCARD 52
2.4.5 SMOVE 53
2.4.6 SPOP 53
2.4.7 SRANDMEMBER 54
2.4.8 SINTER 55
2.4.9 SINTERSTORE 55
2.4.10 SUNION 56
2.4.11 SUNIONSTORE 56
2.4.12 SDIFF 57
2.4.13 SDIFFSTORE 57
2.5 Sorted Set類型 58
2.5.1 ZADD 58
2.5.2 ZREM 59
2.5.3 ZCARD 60
2.5.4 ZCOUNT 61
2.5.5 ZSCORE 61
2.5.6 ZINCRBY 62
2.5.7 ZRANGE 62
2.5.8 ZREVRANGE 63
2.5.9 ZREVRANGEBYSCORE 64
2.5.10 ZRANK 64
2.5.11 ZREVRANK 65
2.5.12 ZREMRANGEBYRANK 65
2.5.13 ZREMRANGEBYSCORE 66
2.5.14 ZINTERSTORE 67
2.5.15 ZUNIONSTORE 68
2.6 Redis HyperLogLog 69
2.6.1 Redis HyperLogLog
常用命令 69
2.6.2 Redis HyperLogLog實(shí)例 69
第3章 Redis常用命令 71
3.1 鍵值相關(guān)命令 71
3.1.1 KEYS 71
3.1.2 SCAN 72
3.1.3 EXISTS 73
3.1.4 DEL 73
3.1.5 EXPIRE 73
3.1.6 TTL 74
3.1.7 SELECT 74
3.1.8 MOVE 74
3.1.9 PERSIST 75
3.1.10 RANDOMKEY 75
3.1.11 RENAME 75
3.1.12 TYPE 76
3.2 服務(wù)器相關(guān)命令 76
3.2.1 PING 76
3.2.2 ECHO 76
3.2.3 QUIT 76
3.2.4 DBSIZE 76
3.2.5 INFO 77
3.2.6 MONITOR 79
3.2.7 CONFIG GET 80
3.2.8 FLUSHDB 80
3.2.9 FLUSHALL 80
第4章 Redis高級主題 81
4.1 服務(wù)器配置 81
4.1.1 Redis服務(wù)器允許遠(yuǎn)程主機(jī)
訪問 81
4.1.2 客戶端遠(yuǎn)程連接Redis
服務(wù)器 82
4.1.3 設(shè)置密碼 82
4.1.4 Redis端口修改 83
4.1.5 查看配置 84
4.1.6 修改配置 84
4.1.7 配置項(xiàng)說明 84
4.2 Redis事務(wù) 86
4.2.1 Redis事務(wù)的常用命令 86
4.2.2 簡單事務(wù)控制 87
4.2.3 取消一個(gè)事務(wù) 87
4.2.4 樂觀鎖控制復(fù)雜事務(wù) 88
4.3 Redis發(fā)布和訂閱 90
4.3.1 Redis發(fā)布和訂閱的
常用命令 90
4.3.2 Redis發(fā)布和訂閱實(shí)例 90
4.4 Redis管道 91
4.5 數(shù)據(jù)備份與恢復(fù) 92
4.6 Redis性能測試 93
4.7 Redis客戶端連接 94
4.8 Redis服務(wù)開機(jī)自啟動 94
4.8.1 Windows下Redis服務(wù)
開機(jī)自啟動 95
4.8.2 Linux下Redis服務(wù)
開機(jī)自啟動 96
4.9 Redis內(nèi)存分析工具 97
第5章 Redis緩存的持久化 99
5.1 持久化機(jī)制 99
5.1.1 配置RDB 100
5.1.2 配置AOF 101
5.2 Redis過期key清除策略 103
第6章 Redis集群環(huán)境部署 105
6.1 主從復(fù)制 105
6.1.1 Redis主從復(fù)制原理 106
6.1.2 Redis主從復(fù)制安裝過程 106
6.1.3 Redis測試主從復(fù)制關(guān)系 108
6.2 哨兵模式 109
6.2.1 災(zāi)備切換Sentinel的使用 109
6.2.2 Redis Sentinel的安裝與
配置 111
6.2.3 測試主從切換 116
6.3 Redis集群 118
6.3.1 Redis集群環(huán)境 118
6.3.2 開始Redis集群搭建 119
6.3.3 Redis集群代理 125
6.3.4 Redis集群特點(diǎn) 128
6.3.5 新增Redis集群節(jié)點(diǎn) 130
6.3.6 刪除Redis集群節(jié)點(diǎn) 139
第7章 Redis開發(fā)實(shí)戰(zhàn) 142
7.1 搭建開發(fā)Redis的Java
開發(fā)環(huán)境 142
7.1.1 在Windows下安裝Java 8 142
7.1.2 安裝Tomcat 9 145
7.1.3 搭建IntelliJ IDEA
開發(fā)環(huán)境 146
7.2 使用Java操作Redis 147
7.2.1 連接Redis的兩種方式 147
7.2.2 操作String 150
7.2.3 操作Map 151
7.2.4 操作List 152
7.2.5 操作Set 153
7.2.6 排序 153
7.2.7 Redis存儲圖片 154
7.2.8 Redis存儲Object 158
7.2.9 Redis存儲和計(jì)算用戶
訪問量 161
7.3 Redis調(diào)用方式 162
7.3.1 普通同步 162
7.3.2 事務(wù) 162
7.3.3 管道 163
7.3.4 管道中調(diào)用事務(wù) 163
7.4 Redis集群與Java 164
7.5 實(shí)例1:使用Redis獲取用戶的
共同好友 164
7.5.1 初始化數(shù)據(jù) 165
7.5.2 使用Jedis獲取用戶的
共同好友 165
7.6 實(shí)例2:在Tomcat上使用Redis
保存Session 166
7.6.1 分布式Session 166
7.6.2 持久化Tomcat Session到
Redis 167
7.6.3 安裝服務(wù)器 Tomcat和反向
代理服務(wù)器Nginx 168
7.6.4 配置Tomcat集群 173
7.6.5 配置Tomcat使用Redis
管理Session 177
第8章 Spring Boot與Redis
整合應(yīng)用 179
8.1 Spring Boot項(xiàng)目搭建與Redis
整合應(yīng)用 179
8.1.1 Spring Boot簡介 179
8.1.2 使用Spring Initializr
新建項(xiàng)目 180
8.1.3 Spring Boot結(jié)合Redis
實(shí)戰(zhàn) 184
8.2 RedisTemplate API詳解 186
8.2.1 寫入和讀取緩存 186
8.2.2 添加和獲取散列數(shù)據(jù) 187
8.2.3 添加和獲取列表數(shù)據(jù) 188
8.2.4 添加和獲取集合數(shù)據(jù) 188
8.2.5 添加和獲取有序集合數(shù)據(jù) 188
8.2.6 優(yōu)化控制器 189
8.3 Spring Boot集成Spring Session 190
8.3.1 配置Spring Boot項(xiàng)目 190
8.3.2 創(chuàng)建配置類和控制器類 191
8.3.3 編譯和部署項(xiàng)目 193
第9章 Redis監(jiān)控 196
9.1 Redis監(jiān)控指標(biāo) 196
9.1.1 使用INFO命令 196
9.1.2 使用redis-stat 206
9.2 自定義監(jiān)控 208
9.2.1 前端頁面 210
9.2.2 WebSocket與消息推送 215
9.2.3 創(chuàng)建控制器類 220
9.2.4 業(yè)務(wù)邏輯 222
9.2.5 常用工具類 226
第10章 Redis的緩存設(shè)計(jì)與優(yōu)化 230
10.1 Redis緩存的優(yōu)點(diǎn)和缺點(diǎn) 230
10.2 緩存雪崩 231
10.3 緩存穿透 231
10.4 布隆過濾器 232
10.4.1 布隆過濾器簡介 232
10.4.2 Redis加載布隆過濾器
模塊 233
10.4.3 在項(xiàng)目中使用布隆
過濾器 236
第11章 擴(kuò)展知識 237
11.1 配置CentOS 7 237
11.1.1 關(guān)閉防火墻 237
11.1.2 配置國內(nèi)yum倉庫 238
11.2 Maven基礎(chǔ)知識 239
11.2.1 Maven的基本概念 239
11.2.2 Maven下載 240
11.2.3 Maven安裝 241
11.2.4 修改從Maven中心倉庫
下載到本地的JAR包的
默認(rèn)存儲位置 242
11.2.5 Maven的簡單使用 244
11.2.6 pom.xml文件中的groupId
和artifactId到底該怎么
定義 244
11.2.7 常用Maven命令 244
11.3 配置IntelliJ IDEA 245
11.3.1 配置JDK 245
11.3.2 配置Maven 247
11.3.3 配置Tomcat 249
11.3.4 創(chuàng)建簡單的Maven項(xiàng)目 250
11.3.5 導(dǎo)入Maven項(xiàng)目進(jìn)行
配置 253
11.4 使用VMware 254
11.4.1 配置虛擬機(jī)的靜態(tài)IP
地址 254
11.4.2 恢復(fù)網(wǎng)絡(luò)設(shè)置 255
11.4.3 重新生成虛擬機(jī)網(wǎng)卡的
MAC地址 255
11.5 配置SecureCRT 256
11.5.1 設(shè)置打開的連接顯示在
一個(gè)頁面 257
11.5.2 傳輸文件和下載文件 257
11.5.3 顯示中文 258
11.6 Chrome的常用技巧 259
11.6.1 打開開發(fā)者工具控制臺 259
11.6.2 基本輸出 259
11.6.3 Chrome禁用緩存 260
11.7 使用Python 3操作Redis
集群 260
11.7.1 在Windows下安裝
Python 3 260
11.7.2 在Linux下安裝Python 3 266
11.7.3 使用Redis模塊 267