李子驊(Luin),畢業於北京航空航太大學,目前就職於Fallacy Labs公司,曾先後於阿裡巴巴、街旁網任職,也擔任過石墨文檔技術總監。
第 1章 簡介 1
1.1 歷史與發展 1
1.2 特性 2
1.2.1 存儲結構 2
1.2.2 內存存儲與持久化 3
1.2.3 功能豐富 4
1.2.4 簡單穩定 4
第 2章 準備 7
2.1 安裝Redis 7
2.1.1 在POSIX中安裝 7
2.1.2 在macOS中安裝 8
2.1.3 在Windows中安裝 9
2.2 啟動和停止Redis 10
2.2.1 啟動Redis 11
2.2.2 停止Redis 13
2.3 Redis命令列用戶端 13
2.3.1 發送命令 13
2.3.2 命令返回值 14
2.4 配置 15
2.5 多資料庫 16
第3章 入門 19
3.1 熱身 19
3.2 字串類型 21
3.2.1 介紹 22
3.2.2 命令 22
3.2.3 實踐 25
3.2.4 命令拾遺 27
3.3 雜湊類型 32
3.3.1 介紹 32
3.3.2 命令 34
3.3.3 實踐 36
3.3.4 命令拾遺 38
3.4 列表類型 39
3.4.1 介紹 39
3.4.2 命令 40
3.4.3 實踐 43
3.4.4 命令拾遺 44
3.5 集合類型 46
3.5.1 介紹 47
3.5.2 命令 47
3.5.3 實踐 50
3.5.4 命令拾遺 52
3.6 有序集合類型 55
3.6.1 介紹 55
3.6.2 命令 56
3.6.3 實踐 59
3.6.4 命令拾遺 60
3.7 流類型 63
3.7.1 介紹 64
3.7.2 命令 65
3.7.3 實踐 67
3.7.4 命令拾遺 68
第4章 進階 71
4.1 事務 71
4.1.1 概述 72
4.1.2 錯誤處理 73
4.1.3 WATCH命令 74
4.2 過期時間 76
4.2.1 命令 76
4.2.2 實現訪問頻率限制之一 79
4.2.3 實現訪問頻率限制之二 80
4.2.4 實現緩存 80
4.3 排序 82
4.3.1 有序集合的集合操作 82
4.3.2 SORT命令 83
4.3.3 BY參數 84
4.3.4 GET參數 87
4.3.5 STORE參數 88
4.3.6 性能優化 89
4.4 消息通知 89
4.4.1 任務佇列 90
4.4.2 使用Redis實現任務佇列 91
4.4.3 優先順序佇列 92
4.4.4 “發佈/訂閱”模式 93
4.4.5 按照規則訂閱 94
4.4.6 強大的流 96
4.4.7 流與消費組 98
4.5 管道 101
4.6 節省空間 102
4.6.1 精簡鍵名和鍵值 103
4.6.2 內部編碼優化 103
第5章 實踐 111
5.1 PHP與Redis 111
5.1.1 安裝 111
5.1.2 使用方法 112
5.1.3 簡便用法 113
5.1.4 實踐:用戶註冊登錄功能 114
5.2 Ruby與Redis 118
5.2.1 安裝 119
5.2.2 使用方法 119
5.2.3 簡便用法 119
5.2.4 實踐:自動完成 120
5.3 Python與Redis 123
5.3.1 安裝 123
5.3.2 使用方法 123
5.3.3 簡便用法 123
5.3.4 實踐:在線的好友 124
5.4 Node.js與Redis 129
5.4.1 安裝 129
5.4.2 使用方法 129
5.4.3 簡便用法 131
5.4.4 實踐:IP地址查詢 132
第6章 腳本 137
6.1 概覽 137
6.1.1 腳本 138
6.1.2 實例:訪問頻率限制 138
6.2 Lua語言 139
6.2.1 Lua語法 140
6.2.2 標準庫 149
6.2.3 cjson庫和cmsgpack庫 152
6.3 Redis與Lua 153
6.3.1 在腳本中調用Redis命令 153
6.3.2 從腳本中返回值 153
6.3.3 腳本相關命令 154
6.3.4 應用實例 155
6.4 深入腳本 158
6.4.1 KEYS與ARGV 158
6.4.2 沙箱與亂數 159
6.4.3 其他腳本相關命令 159
6.4.4 原子性和執行時間 160
第7章 持久化 163
7.1 RDB方式 163
7.1.1 根據配置規則進行自動
快照 164
7.1.2 執行SAVE或BGSAVE
命令 164
7.1.3 執行FLUSHALL命令 165
7.1.4 執行複製時 165
7.1.5 快照原理 165
7.2 AOF方式 166
7.2.1 開啟AOF 167
7.2.2 AOF的實現 167
7.2.3 同步硬碟資料 169
第8章 集群 171
8.1 複製 171
8.1.1 配置 172
8.1.2 原理 174
8.1.3 圖結構 176
8.1.4 讀寫分離與一致性 177
8.1.5 從資料庫持久化 177
8.1.6 無硬碟複製 177
8.1.7 增量複製 178
8.2 哨兵 179
8.2.1 什麼是哨兵 179
8.2.2 馬上上手 180
8.2.3 實現原理 183
8.2.4 哨兵的部署 186
8.3 集群 187
8.3.1 配置集群 187
8.3.2 節點的增加 191
8.3.3 插槽的分配 191
8.3.4 獲取與插槽對應的節點 196
8.3.5 故障恢復 197
第9章 管理 199
9.1 安全 199
9.1.1 可信的環境 199
9.1.2 資料庫密碼 200
9.1.3 命名命令 202
9.2 通信協議 202
9.2.1 簡單協議 202
9.2.2 統一請求協議 204
9.3 管理工具 205
9.3.1 redis-cli 205
9.3.2 Medis 206
9.3.3 phpRedisAdmin 208
9.3.4 Rdbtools 210
附錄A Redis命令屬性 211
A.1 REDIS_CMD_WRITE 211
A.2 REDIS_CMD_DENYOOM 213
A.3 REDIS_CMD_NOSCRIPT 214
A.4 REDIS_CMD_RANDOM 215
A.5 REDIS_CMD_SORT_FOR_
SCRIPT 215
A.6 REDIS_CMD_LOADING 215
附錄B 配置參數索引 217
附錄C CRC16實現參考 219
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。