|
-- 會員 / 註冊 --
|
|
|
|
Redis使用手冊 ( 簡體 字) |
作者:黃健宏 | 類別:1. -> 資料庫 -> 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 |
序: |
|