预购商品
书目分类
特别推荐
本書是一本Redis的入門指導圖書,以通俗易懂的方式介紹了Redis基礎與實踐方面的知識,包括歷史與特性,在開發環境和生產環境中部署運行Redis,資料類型與命令,使用Redis實現事務、排序、消息通知、管道、Redis存儲空間的優化,持久化等內容,並採用“任務驅動”的方式介紹了PHP、Ruby、Python和Node.js這4種程式設計語言的Redis用戶端庫的使用方法。 本書的目標讀者不僅包括Redis新手,還包括已經掌握Redis使用方法的讀者。對新手而言,本書的內容由淺入深且緊貼實踐,讓讀者能夠即學即用;對於已經瞭解Redis的讀者,通過本書的大量實例以及細節介紹,也能發現很多新的技巧。
第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
李子驊(Luin),畢業於北京航空航太大學,目前就職於Fallacy Labs公司,曾先後于阿里巴巴、街旁網任職,也擔任過石墨文檔技術總監。
客服公告
热门活动
订阅电子报