-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

Redis使用手冊

( 簡體 字)
作者:黃健宏類別:1. -> 資料庫 -> Redis
譯者:
出版社:機械工業出版社Redis使用手冊 3dWoo書號: 51856
詢問書籍請說出此書號!

缺書
NT售價: 695

出版日:9/26/2019
頁數:538
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787111636526
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

本書系統化介紹Redis命令及其應用場景,內容深入,圖文并茂,巨細靡遺,是掌握Redis的案頭必備參考書。本書主要分為三大部分,共20章。第壹部分“數據結構與應用”介紹Redis*核心的九種數據結構,列舉了操作這些數據結構的眾多命令及其詳細信息,并在其中穿插介紹了多個使用 Redis 命令構建應用序的示例。通過這些程序示例,讀者可以進一步加深對命令的認識,并學會如何在實際中應用這些命令,從而達到學而致用的目的。第二部分“附加功能”介紹Redis在數據結構的基礎上為用戶提供的額外功能。其中包括數據庫管理、自動過期功能、流水線與事務、Lua 腳本、持久化、發布與訂閱、模塊管理等。讀者可以通過閱讀這一部分來學會如何將 Redis 應用在更多場景中。第三部分“多機功能”介紹 Redis 的三項多機功能:復制、Sentinel 和集群。讀者可以通過閱讀這一部分來獲得擴展 Redis 讀寫性能的相關知識,并根據自己的情況為 Redis 系統選擇合適的擴展方式。
目錄:

第1章 引言 1
1.1Redis簡介 1
1.2內容編排 3
1.3目標讀者 4
1.4預備工作 4
1.5執行命令 5
1.6配置服務器 6
1.7示例代碼 7
1.8版本說明 7
1.9讀者服務網站 8
1.10啟程 8
第一部分 數據結構與應用
第2章 字符串 10
2.1SET:為字符串鍵設置值 11
2.1.1改變覆蓋規則 12
2.1.2其他信息 13
2.2GET:獲取字符串鍵的值 13
2.3GETSET:獲取舊值并設置新值 14
示例:緩存 14
示例:鎖 16
2.4MSET:一次為多個字符串鍵設置值 18
2.5MGET:一次獲取多個字符串鍵的值 19
2.6MSETNX:只在鍵不存在的情況下,一次為多個字符串鍵設置值 20
示例:存儲文章信息 20
2.7STRLEN:獲取字符串值的字節長度 25
2.8字符串值的索引 26
2.9GETRANGE:獲取字符串值指定索引范圍上的內容 26
2.10SETRANGE:對字符串值的指定索引范圍進行設置 27
2.10.1自動擴展被修改的字符串 29
2.10.2在值里面填充空字節 29
2.10.3其他信息 30
示例:給文章存儲程序加上文章長度計數功能和文章預覽功能 31
2.11APPEND:追加新內容到值的末尾 32
2.11.1處理不存在的鍵 33
2.11.2其他信息 33
示例:存儲日志 34
2.12使用字符串鍵存儲數字值 37
2.13INCRBY、DECRBY:對整數值執行加法操作和減法操作 37
2.13.1類型限制 38
2.13.2處理不存在的鍵 39
2.13.3其他信息 40
2.14INCR、DECR:對整數值執行加1操作和減1操作 40
2.15INCRBYFLOAT:對數字值執行浮點數加法操作 41
2.15.1處理不存在的鍵 41
2.15.2使用INCRBYFLOAT執行浮點數減法操作 41
2.15.3INCRBYFLOAT與整數值 42
2.15.4小數位長度限制 43
2.15.5其他信息 43
示例:ID生成器 43
示例:計數器 44
示例:限速器 46
2.16重點回顧 48
第3章 散列 49
3.1散列簡介 50
3.2HSET:為字段設置值 51
3.2.1使用新值覆蓋舊值 53
3.2.2其他信息 53
3.3HSETNX:只在字段不存在的情況下為它設置值 53
3.4HGET:獲取字段的值 54
3.4.1處理不存在的字段或者不存在的散列 55
3.4.2其他信息 55
示例:實現短網址生成程序 55
3.5HINCRBY:對字段存儲的整數值執行加法或減法操作 58
3.5.1執行減法操作 58
3.5.2處理異常情況 59
3.5.3其他信息 59
3.6HINCRBYFLOAT:對字段存儲的數字值執行浮點數加法或減法操作 59
3.6.1增量和字段值的類型限制 60
3.6.2執行減法操作 60
3.6.3其他信息 60
示例:使用散列鍵重新實現計數器 60
3.7HSTRLEN:獲取字段值的字節長度 63
3.8HEXISTS:檢查字段是否存在 63
3.9HDEL:刪除字段 64
3.10HLEN:獲取散列包含的字段數量 65
示例:實現用戶登錄會話 66
3.11HMSET:一次為多個字段設置值 69
3.11.1使用新值覆蓋舊值 69
3.11.2其他信息 70
3.12HMGET:一次獲取多個字段的值 70
3.13HKEYS、HVALS、HGETALL:獲取所有字段、所有值、所有字段和值 71
3.13.1字段在散列中的排列順序 72
3.13.2其他信息 73
示例:存儲圖數據 73
示例:使用散列鍵重新實現文章存儲?程序 77
3.14散列與字符串 79
3.14.1散列鍵的優點 80
3.14.2字符串鍵的優點 81
3.14.3字符串鍵和散列鍵的選擇 82
3.15重點回顧 82
第4章 列表 83
4.1LPUSH:將元素推入列表左端 84
4.1.1一次推入多個元素 84
4.1.2其他信息 86
4.2RPUSH:將元素推入列表右端 86
4.2.1一次推入多個元素 86
4.2.2其他信息 88
4.3LPUSHX、RPUSHX:只對已存在的列表執行推入操作 88
4.3.1每次只能推入單個元素 89
4.3.2其他信息 90
4.4LPOP:彈出列表最左端的元素 90
4.5RPOP:彈出列表最右端的元素 91
4.6RPOPLPUSH:將右端彈出的元素推入左端 92
4.6.1源列表和目標列表相同 93
4.6.2處理空列表 94
4.6.3其他信息 95
示例:先進先出隊列 95
4.7LLEN:獲取列表的長度 96
4.8LINDEX:獲取指定索引上的元素 97
4.8.1處理超出范圍的索引 98
4.8.2其他信息 98
4.9LRANGE:獲取指定索引范圍上的元素 98
4.9.1獲取列表包含的所有元素 99
4.9.2處理超出范圍的索引 100
4.9.3其他信息 101
示例:分頁 101
4.10LSET:為指定索引設置新元素 103
4.10.1處理超出范圍的索引 104
4.10.2其他信息 104
4.11LINSERT:將元素插入列表 104
4.11.1處理不存在的元素 105
4.11.2其他信息 105
4.12LTRIM:修剪列表 105
4.12.1處理負數索引 107
4.12.2其他信息 107
4.13LREM:從列表中移除指定元素 107
示例:待辦事項列表 109
4.14BLPOP:阻塞式左端彈出操作 112
4.14.1解除阻塞狀態 112
4.14.2處理空列表 113
4.14.3列表名的作用 114
4.14.4阻塞效果的范圍 114
4.14.5其他信息 114
4.15BRPOP:阻塞式右端彈出操作 114
4.16BRPOPLPUSH:阻塞式彈出并推入操作 114
4.16.1處理源列表為空的情況 116
4.16.2其他信息 116
示例:帶有阻塞功能的消息隊列 116
4.17重點回顧 119
第5章 集合 120
5.1SADD:將元素添加到集合 121
5.1.1忽略已存在元素 122
5.1.2其他信息 122
5.2SREM:從集合中移除元素 122
5.2.1忽略不存在的元素 122
5.2.2其他信息 123
5.3SMOVE:將元素從一個集合移動到另一個集合 123
5.3.1忽略不存在的元素 124
5.3.2覆蓋已存在的元素 124
5.3.3其他信息 125
5.4SMEMBERS:獲取集合包含的所有元素 125
5.4.1元素的無序排列 126
5.4.2其他信息 126
5.5SCARD:獲取集合包含的元素數量 126
5.6SISMEMBER:檢查給定元素是否存在于集合 127
示例:唯一計數器 128
示例:打標簽 129
示例:點贊 131
示例:投票 132
示例:社交關系 135
5.7SRANDMEMBER:隨機獲取集合中的元素 137
5.7.1返回指定數量的元素 138
5.7.2其他信息 139
5.8SPOP:隨機地從集合中移除指定數量的元素 139
5.8.1SPOP與SRANDMEMBER的區別 140
5.8.2其他信息 141
示例:抽獎 141
5.9SINTER、SINTERSTORE:對集合執行交集計算 142
5.9.1SINTERSTORE命令 143
5.9.2其他信息 143
5.10SUNION、SUNIONSTORE:對集合執行并集計算 143
5.10.1SUNIONSTORE命令 144
5.10.2其他信息 144
5.11SDIFF、SDIFFSTORE:對集合執行差集計算 144
5.11.1SDIFFSTORE命令 145
5.11.2其他信息 145
示例:共同關注與推薦關注 146
示例:使用反向索引構建商品篩選器 149
5.12重點回顧 152
第6章 有序集合 153
6.1ZADD:添加或更新成員 154
6.1.1更新已有成員的分值 154
6.1.2指定要執行的操作 154
6.1.3返回被修改成員的數量 155
6.1.4其他信息 156
6.2ZREM:移除指定的成員 156
6.2.1忽略不存在的成員 157
6.2.2其他信息 157
6.3ZSCORE:獲取成員的分值 157
6.4ZINCRBY:對成員的分值執行自增或自減操作 158
6.4.1執行自減操作 159
6.4.2處理不存在的鍵或者不存在的成員 160
6.4.3其他信息 160
6.5ZCARD:獲取有序集合的大小 160
6.6ZRANK、ZREVRANK:獲取成員在有序集合中的排名 161
6.6.1處理不存在的鍵或者不存在的成員 162
6.6.2其他信息 162
6.7ZRANGE、ZREVRANGE:獲取指定索引范圍內的成員 162
6.7.1使用負數索引 163
6.7.2獲取成員及其分值 164
6.7.3處理不存在的有序集合 165
6.7.4其他信息 165
示例:排行榜 165
6.8ZRANGEBYSCORE、ZREVRAN-GEBYSCORE:獲取指定分值范圍內的成員 167
6.8.1獲取成員及其分值 168
6.8.2限制命令返回的成員數量 168
6.8.3使用開區間分值范圍 169
6.8.4使用無限值作為范圍 170
6.8.5其他信息 171
6.9ZCOUNT:統計指定分值范圍內的成員數量 171
6.9.1分值范圍的格式 171
6.9.2其他信息 172
示例:時間線 172
6.10ZREMRANGEBYRANK:移除指定排名范圍內的成員 175
6.10.1使用負數排名 175
6.10.2其他信息 175
6.11ZREMRANGEBYSCORE:移除指定分值范圍內的成員 176
6.12ZUNIONSTORE、ZINTERSTORE:有序集合的并集運算和交集運算 176
6.12.1指定聚合函數 177
6.12.2設置權重 179
6.12.3使用集合作為輸入 180
6.12.4其他信息 181
示例:商品推薦 181
6.13ZRANGEBYLEX、ZREVRAN-GEBYLEX:返回指定字典序范圍內的成員 182
6.13.1ZREVRANGEBYLEX 184
6.13.2限制命令返回的成員數量 184
6.13.3其他信息 185
6.14ZLEXCOUNT:統計位于字典序指定范圍內的成員數量 185
6.15ZREMRANGEBYLEX:移除位于字典序指定范圍內的成員 186
示例:自動補全 187
6.16ZPOPMAX、ZPOPMIN:彈出分值最高和最低的成員 188
6.17BZPOPMAX、BZPOPMIN:阻塞式最大/最小元素彈出操作 189
6.18重點回顧 191
第7章 HyperLogLog 192
7.1HyperLogLog簡介 193
7.2PFADD:對集合元素進行計數 193
7.3PFCOUNT:返回集合的近似基數 194
7.3.1返回并集的近似基數 194
7.3.2其他信息 195
示例:優化唯一計數器 195
示例:檢測重復信息 196
7.4PFMERGE:計算多個HyperLogLog的并集 198
7.4.1PFCOUNT與PFMERGE 198
7.4.2其他信息 199
示例:實現每周/月度/年度計數器 199
7.5重點回顧 200
第8章 位圖 201
8.1SETBIT:設置二進制位的值 201
8.1.1位圖的擴展 202
8.1.2偏移量只能為正數 203
8.1.3其他信息 203
8.2GETBIT:獲取二進制位的值 203
8.2.1處理范圍之外的偏移量 204
8.2.2其他信息 204
8.3BITCOUNT:統計被設置的二進制位數量 204
8.3.1只統計位圖指定字節范圍內的二進制位 204
8.3.2使用負數偏移量定義統計范圍 206
8.3.3其他信息 206
示例:用戶行為記錄器 207
8.4BITPOS:查找第一個指定的二進制位值 208
8.4.1只在指定的字節范圍內進行查找 209
8.4.2使用負數偏移量定義查找范圍 209
8.4.3邊界情況處理 210
8.4.4其他信息 211
8.5BITOP:執行二進制位運算 211
8.5.1處理不同長度的位圖 212
8.5.2其他信息 212
示例:0-1矩陣 212
8.6BITFIELD:在位圖中存儲整數值 214
8.6.1根據偏移量對區域進行設置 214
8.6.2根據索引對區域進行設置 216
8.6.3獲取區域存儲的值 216
8.6.4執行加法操作或減法操作 217
8.6.5處理溢出 218
8.6.6使用位圖存儲整數的原因 219
8.6.7其他信息 219
示例:緊湊計數器 219
8.7使用字符串命令對位圖進行操作 221
8.8重點回顧 222
第9章 地理坐標 223
9.1GEOADD:存儲坐標 224
9.1.1更新已有位置的坐標 224
9.1.2其他信息 224
9.2GEOPOS:獲取指定位置的坐標 224
9.3GEODIST:計算兩個位置之間的直線距離 225
9.3.1指定距離的單位 225
9.3.2處理不存在的位置 226
9.3.3其他信息 226
示例:具有基本功能的用戶地理位置程序 226
9.4GEORADIUS:查找指定坐標半徑范圍內的其他位置 228
9.4.1返回被匹配位置與中心點之間的距離 229
9.4.2返回被匹配位置的坐標 229
9.4.3排序查找結果 230
9.4.4限制命令獲取的位置數量 231
9.4.5同時使用多個可選項 231
9.4.6其他信息 232
9.5GEORADIUSBYMEMBER:查找指定位置半徑范圍內的其他位置 232
示例:查找附近用戶 233
9.6GEOHASH:獲取指定位置的Geohash值 235
9.6.1在進行范圍查找時獲取Geohash值 235
9.6.2其他信息 236
9.7使用有序集合命令操作GEO數據 236
9.8重點回顧 237
第10章 流 238
10.1XADD:追加新元素到流的末尾 239
10.1.1流元素的ID 239
10.1.2不完整的流ID 240
10.1.3流元素ID的限制 240
10.1.4自動生成元素ID 241
10.1.5限制流的長度 242
10.1.6其他信息 243
10.2XTRIM:對流進行修剪 243
10.3XDEL:移除指定元素 244
10.4XLEN:獲取流包含的元素數量 244
10.5XRANGE、XREVRANGE:訪問流中元素 245
10.5.1獲取ID指定的單個元素 245
10.5.2獲取指定ID范圍內的多個元素 246
10.5.3獲取所有元素 247
10.5.4獲取指定數量的元素 248
10.5.5對流進行迭代 249
10.5.6以逆序訪問流中元素 251
10.5.7其他信息 251
10.6XREAD:以阻塞或非阻塞方式獲取流元素 251
10.6.1從多個流中獲取大于指定ID的元素 251
10.6.2迭代流 253
10.6.3阻塞 254
10.6.4只獲取新出現的元素 256
10.6.5其他信息 258
示例:消息隊列 258
10.7消費者組 260
10.7.1創建消費者組 261
10.7.2讀取消費者組 262
10.7.3消費者 262
10.7.4消息的狀態轉換 263
10.7.5實際示例 263
10.8XGROUP:管理消費者組 264
10.8.1創建消費者組 264
10.8.2修改消費者組的最后遞送消息ID 265
10.8.3刪除消費者 267
10.8.4刪除消費者組 268
10.9XREADGROUP:讀取消費者組中的消息 268
10.9.1讀取未遞送過的新消息 269
10.9.2其他信息 270
10.10XPENDING:顯示待處理消息的相關信息 270
10.11XACK:將消息標記為“已處理” 271
10.12XCLAIM:轉移消息的歸屬權 272
10.12.1只返回被轉移消息的ID 273
10.12.2其他信息 273
10.13XINFO:查看流和消費者組的相關信息 273
10.13.1打印消費者信息 273
10.13.2打印消費者組信息 274
10.13.3打印流消息 274
10.13.4其他信息 275
示例:為消息隊列提供消費者組功能 275
10.14重點回顧 277
第二部分 附加功能
第11章 數據庫 280
11.1SELECT:切換至指定的數據庫 281
11.2KEYS:獲取所有與給定匹配符相匹配的鍵 282
11.2.1全局匹配符 282
11.2.2其他信息 283
11.3SCAN:以漸進方式迭代數據庫中的鍵 283
11.3.1一次簡單的迭代示例 284
11.3.2SCAN命令的迭代保證 285
11.3.3游標的使用 285
11.3.4迭代與給定匹配符相匹配的鍵 285
11.3.5指定返回鍵的期望數量 286
11.3.6數據結構迭代命令 287
11.3.7其他信息 289
示例:構建數據庫迭代器 289
11.4RANDOMKEY:隨機返回一個鍵 292
11.5SORT:對鍵的值進行排序 292
11.5.1指定排序方式 293
11.5.2對字符串值進行排序 294
11.5.3只獲取部分排序結果 294
11.5.4獲取外部鍵的值作為結果 295
11.5.5使用外部鍵的值作為排序權重 298
11.5.6保存排序結果 299
11.5.7其他信息 300
11.6EXISTS:檢查給定鍵是否存在 300
11.6.1只能接受單個鍵的EXISTS命令 300
11.6.2其他信息 300
11.7DBSIZE:獲取數據庫包含的鍵值對數量 301
11.8TYPE:查看鍵的類型 301
示例:數據庫取樣程序 302
11.9RENAME、RENAMENX:修改鍵名 304
11.9.1覆蓋已存在的鍵 305
11.9.2只在新鍵名尚未被占用的情況下進行改名 305
11.9.3其他信息 306
11.10MOVE:將給定的鍵移動到另一個數據庫 306
11.10.1不覆蓋同名鍵 306
11.10.2其他信息 307
11.11DEL:移除指定的鍵 307
11.12UNLINK:以異步方式移除指定的鍵 307
11.13FLUSHDB:清空當前數據庫 308
11.13.1async選項 308
11.13.2其他信息 309
11.14FLUSHALL:清空所有數據庫 309
11.14.1async選項 309
11.14.2其他信息 309
11.15SWAPDB:互換數據庫 309
示例:使用SWAPDB命令實行在線?替換數據庫 310
11.16重點回顧 312
第12章 自動過期 313
12.1EXPIRE、PEXPIRE:設置生存時間 313
12.1.1更新鍵的生存時間 315
12.1.2其他信息 315
示例:帶有自動移除特性的緩存程序 316
12.2SET命令的EX選項和PX選項 317
12.2.1組合命令的安全問題 317
12.2.2其他信息 318
示例:帶有自動釋放特性的鎖 318
12.3EXPIREAT、PEXPIREAT:設置過期時間 319
12.3.1EXPIREAT使用示例 320
12.3.2PEXPIREAT使用示例 320
12.3.3更新鍵的過期時間 321
12.3.4自動過期特性的不足之處 321
12.3.5其他信息 322
12.4TTL、PTTL:獲取鍵的剩余生存時間 322
12.4.1沒有剩余生存時間的鍵和不存在的鍵 322
12.4.2TTL命令的精度問題 322
12.4.3其他信息 323
示例:自動過期的登錄會話 323
示例:自動淘汰冷門數據 326
12.5重點回顧 328
第13章 流水線與事務 329
13.1流水線 329
示例:使用流水線優化隨機鍵創建程序 331
13.2事務 333
13.2.1MULTI:開啟事務 335
13.2.2EXEC:執行事務 335
13.2.3DISCARD:放棄事務 336
13.2.4事務的安全性 337
13.2.5事務對服務器的影響 337
13.2.6流水線與事務 337
示例:實現mlpop()函數 338
13.3帶有樂觀鎖的事務 339
13.3.1WATCH:對鍵進行監視 341
13.3.2UNWATCH:取消對鍵的監視 342
示例:帶有身份驗證功能的鎖 343
示例:帶有身份驗證功能的計數?信號量 344
13.4重點回顧 347
第14章 Lua腳本 348
14.1EVAL:執行腳本 349
14.1.1使用腳本執行Redis命令 349
14.1.2值轉換 350
14.1.3全局變量保護 352
14.1.4在腳本中切換數據庫 353
14.1.5腳本的原子性 353
14.1.6以命令行方式執行腳本 353
14.1.7其他信息 354
示例:使用腳本重新實現帶有身份驗證功能的鎖 354
示例:實現LPOPRPUSH命令 355
14.2SCRIPT LOAD和EVALSHA:緩存并執行腳本 357
14.3腳本管理 359
14.3.1SCRIPT EXISTS:檢查腳本是否已被緩存 359
14.3.2SCRIPT FLUSH:移除所有已緩存腳本 359
14.3.3SCRIPT KILL:強制停止正在運行的腳本 360
14.4內置函數庫 361
14.4.1redis包 362
14.4.2bit包 364
14.4.3struct包 364
14.4.4cjson包 365
14.4.5cmsgpack包 365
14.5腳本調試 366
14.5.1一個簡單的調試示例 366
14.5.2調試命令 368
14.5.3斷點 369
14.5.4動態斷點 371
14.5.5輸出調試日志 372
14.5.6執行指定的代碼或命令 373
14.5.7顯示調用鏈 373
14.5.8重載腳本 375
14.5.9調試模式 376
14.5.10終止調試會話 378
14.6重點回顧 379
第15章 持久化 380
15.1RDB持久化 380
15.1.1SAVE:阻塞服務器并創建RDB文件 381
15.1.2BGSAVE:以非阻塞方式創建RDB文件 382
15.1.3通過配置選項自動創建RDB文件 382
15.1.4SAVE命令和BGSAVE命令的選擇 384
15.1.5RDB文件結構 384
15.1.6載入RDB文件 386
15.1.7數據丟失 387
15.2AOF持久化 389
15.2.1打開AOF持久化功能 390
15.2.2設置AOF文件的沖洗頻率 391
15.2.3AOF重寫 391
15.2.4AOF持久化的優缺點 394
15.3RDB-AOF混合持久化 394
15.4同時使用RDB持久化和AOF持久化 396
15.5無持久化 397
15.6SHUTDOWN:關閉服務器 397
15.6.1通過可選項指示持久化操作 398
15.6.2其他信息 399
15.7重點回顧 399
第16章 發布與訂閱 400
16.1PUBLISH:向頻道發送消息 402
16.2SUBSCRIBE:訂閱頻道 402
16.2.1接收頻道消息 403
16.2.2其他信息 404
16.3UNSUBSCRIBE:退訂頻道 404
16.3.1UNSUBSCRIBE命令在不同客戶端中的應用 404
16.3.2其他信息 405
16.4PSUBSCRIBE:訂閱模式 405
16.4.1接收模式消息 406
16.4.2其他信息 407
16.5PUNSUBSCRIBE:退訂模式 407
16.5.1PUNSUBSCRIBE命令在不同客戶端中的應用 407
16.5.2其他信息 408
16.6PUBSUB:查看發布與訂閱的相關信息 408
16.6.1查看被訂閱的頻道 408
16.6.2查看頻道的訂閱者數量 409
16.6.3查看被訂閱模式的總數量 409
16.6.4其他信息 409
示例:廣播系統 409
16.7重點回顧 411
第17章 模塊 412
17.1模塊的管理 413
17.1.1編譯模塊 413
17.1.2載入模塊 413
17.1.3列出已載入的模塊 414
17.1.4卸載模塊 415
17.2ReJSON模塊 416
17.2.1編譯和載入 416
17.2.2使用示例 417
17.2.3ReJSON路徑 418
17.2.4API簡介 420
17.3RediSQL模塊 423
17.3.1編譯模塊 423
17.3.2使用示例 424
17.3.3API簡介 425
17.4RediSearch模塊 428
17.4.1下載與編譯 428
17.4.2使用示例 429
17.4.3API簡介 430
17.5重點回顧 442
第三部分 多機功能
第18章 復制 444
18.1REPLICAOF:將服務器設置為從服務器 446
18.1.1通過配置選項設置從服務器 447
18.1.2取消復制 447
18.1.3其他信息 448
18.2ROLE:查看服務器的角色 448
18.2.1主服務器執行ROLE命令 448
18.2.2從服務器執行ROLE命令 449
18.2.3其他信息 449
18.3數據同步 449
18.3.1完整同步 450
18.3.2在線更新 450
18.3.3部分同步 451
18.4無須硬盤的復制 452
18.5降低數據不一致情況出現的概率 452
18.6可寫的從服務器 453
示例:使用從服務器處理復雜計算操作 454
18.7腳本復制 455
18.7.1腳本傳播模式 455
18.7.2命令傳播模式 456
18.7.3選擇性命令傳播 457
18.7.4模式的選擇 458
18.8重點回顧 459
第19章 Sentinel 460
19.1啟動Sentinel 461
19.2Sentinel網絡 464
19.3Sentinel管理命令 466
19.3.1SENTINEL masters:獲取所有被監視主服務器的信息 467
19.3.2SENTINEL master:獲取指定被監視主服務器的信息 468
19.3.3SENTINEL slaves:獲取被監視主服務器的從服務器信息 469
19.3.4SENTINEL sentinels:獲取其他Sentinel的相關信息 471
19.3.5SENTINEL get-master-addr-by-name:獲取給定主服務器的IP地址和端口號 472
19.3.6SENTINEL reset:重置主服務器狀態 473
19.3.7SENTINEL failover:強制執行故障轉移 473
19.3.8SENTINEL ckquorum:檢查可用Sentinel的數量 474
19.3.9SENTINEL flushconfig:強制寫入配置文件 474
19.4在線配置Sentinel 475
19.4.1SENTINEL monitor:監視給定主服務器 475
19.4.2SENTINEL remove:取消對給定主服務器的監視 476
19.4.3SENTINEL set:修改Sentinel配置選項的值 477
19.4.4使用在線配置命令的注意事項 478
示例:使用redis-py管理Sentinel 479
19.5重點回顧 479
第20章 集群 481
20.1基本特性 481
20.1.1復制與高可用 481
20.1.2分片與重分片 482
20.1.3高性能 482
20.1.4簡單易用 483
20.2搭建集群 483
20.2.1快速搭建集群 483
20.2.2手動搭建集群 486
示例:使用客戶端連接集群 489
20.3散列標簽 491
20.4打開/關閉從節點的讀命令執行權限 492
20.4.1READONLY:打開讀命令執行權限 493
20.4.2READWRITE:關閉讀命令執行權限 493
20.4.3其他信息 494
20.5集群管理工具redis-cli 494
20.5.1創建集群 495
20.5.2查看集群信息 496
20.5.3檢查集群 497
20.5.4修復槽錯誤 498
20.5.5重分片 499
20.5.6負載均衡 501
20.5.7添加節點 502
20.5.8移除節點 503
20.5.9執行命令 504
20.5.10設置超時時間 504
20.5.11導入數據 505
20.6集群管理命令 506
20.6.1CLUSTER MEET:將節點添加至集群 506
20.6.2CLUSTER NODES:查看集群內所有節點的相關信息 508
20.6.3CLUSTER MYID:查看當前節點的運行ID 511
20.6.4CLUSTER INFO:查看集群信息 512
20.6.5CLUSTER FORGET:從集群中移除節點 513
20.6.6CLUSTER REPLICATE:將節點變為從節點 514
20.6.7CLUSTER REPLICAS:查看給定節點的所有從節點 515
20.6.8CLUSTER FAILOVER:強制執行故障轉移 516
20.6.9CLUSTER RESET:重置節點 517
20.7槽管理命令 518
20.7.1CLUSTER SLOTS:查看槽與節點之間的關聯信息 519
20.7.2CLUSTER ADDSLOTS:把槽指派給節點 520
20.7.3CLUSTER DELSLOTS:撤銷對節點的槽指派 521
20.7.4CLUSTER FLUSHSLOTS:撤銷對節點的所有槽指派 522
20.7.5CLUSTER KEYSLOT:查看鍵所屬的槽 523
20.7.6CLUSTER COUNTKEYSINSLOT:查看槽包含的鍵數量 524
20.7.7CLUSTER GETKEYSINSLOT:獲取槽包含的鍵 524
20.7.8CLUSTER SETSLOT:改變槽的狀態 525
20.8重點回顧 527
附錄A Redis安裝方法 528
附錄B redis-py安裝方法 531
附錄C Redis命令索引表 533
序: