內容介紹
《Redis入門指南》的目標讀者不僅包括Redis的新手,還包括那些已經掌握Redis使用方法的人。對於新手而言,《Redis入門指南》的內容由淺入深且緊貼實踐,旨在讓讀者真正能夠即學即用;對於已經了解Redis的讀者,通過《Redis入門指南》的大量實例以及細節介紹,也能發現很多新的技巧。
作品目錄
第1章 簡介 1
1.1 歷史與發展 1
1.2 特性 2
1.2.1 存儲結構 2
1.2.2 記憶體存儲與持久化 3
1.2.3 功能豐富 3
1.2.4 簡單穩定 4
第2章 準備 7
2.1 安裝Redis 7
2.1.1 在POSIX系統中安裝 7
2.1.2 在OS X系統中安裝 8
2.1.3 在Windows中安裝 9
2.2 啟動和停止Redis 11
2.2.1 啟動Redis 11
2.2.2 停止Redis 14
2.3 Redis命令行客戶端 14
2.3.1 傳送命令 14
2.3.2 命令返回值 15
2.4 配置 16
2.5 多資料庫 17
第3章 入門 19
3.1 熱身 19
3.2 字元串類型 21
3.2.1 介紹 22
3.2.2 命令 22
3.2.3 實踐 26
3.2.4 命令拾遺 28
3.3 散列類型 32
3.3.1 介紹 33
3.3.2 命令 34
3.3.3 實踐 37
3.3.4 命令拾遺 39
3.4 列表類型 40
3.4.1 介紹 41
3.4.2 命令 41
3.4.3 實踐 44
3.4.5 命令拾遺 46
3.5 集合類型 48
3.5.1 介紹 48
3.5.2 命令 49
3.5.3 實踐 52
3.5.4 命令拾遺 54
3.6 有序集合類型 57
3.6.1 介紹 57
3.6.2 命令 58
3.6.3 實踐 62
3.6.4 命令拾遺 63
第4章 進階 67
4.1 事務 67
4.1.1 概述 68
4.1.2 錯誤處理 69
4.1.3 WATCH命令介紹 70
4.2 生存時間 72
4.2.1 命令介紹 73
4.2.2 實現訪問頻率限制之一 75
4.2.3 實現訪問頻率限制之二 76
4.2.4 實現快取 77
4.3 排序 78
4.3.1 有序集合的集合操作 78
4.3.2 SORT命令 79
4.3.3 BY參數 81
4.3.4 GET參數 83
4.3.5 STORE參數 84
4.3.6 性能最佳化 85
4.4 訊息通知 85
4.4.1 任務佇列 86
4.4.2 使用Redis實現任務佇列 87
4.4.3 優先權佇列 88
4.4.4 “發布/訂閱”模式 90
4.4.5 按照規則訂閱 91
4.5 管道 92
4.6 節省空間 93
4.6.1 精簡鍵名和鍵值 94
4.6.2 內部編碼最佳化 94
第5章 實踐 103
5.1 PHP與Redis 103
5.1.1 安裝 104
5.1.2 使用方法 104
5.1.3 簡便用法 105
5.1.4 實踐:用戶註冊登錄功能 107
5.2 Ruby與Redis 111
5.2.1 安裝 111
5.2.2 使用方法 111
5.2.3 簡便用法 112
5.2.4 實踐:自動完成 112
5.3 Python與Redis 116
5.3.1 安裝 116
5.3.2 使用方法 116
5.3.3 簡便用法 117
5.3.4 實踐:線上的好友 117
5.4 Node.js與Redis 123
5.4.1 安裝 123
5.4.2 使用方法 123
5.4.3 簡便用法 125
5.4.4 實踐:IP位址查詢 127
第6章 腳本 131
6.1 概覽 131
6.1.1 腳本介紹 132
6.1.2 實例:訪問頻率限制 132
6.2 Lua語言 133
6.2.1 Lua語法 134
6.2.2 標準庫 143
6.2.3 其他庫 146
6.3 Redis與Lua 147
6.3.1 在腳本中調用Redis命令 147
6.3.2 從腳本中返回值 148
6.3.3 腳本相關命令 148
6.3.4 套用實例 149
6.4 深入腳本 152
6.4.1 KEYS與ARGV 152
6.4.2 沙盒與隨機數 153
6.4.3 其他腳本相關命令 154
6.4.4 原子性和執行時間 155
第7章 管理 157
7.1 持久化 157
7.1.1 RDB方式 157
7.1.2 AOF方式 159
7.2 複製 161
7.2.1 配置 161
7.2.2 原理 163
7.2.3 圖結構 164
7.2.4 讀寫分離 165
7.2.5 從資料庫持久化 165
7.3 安全 166
7.3.1 可信的環境 166
7.3.2 資料庫密碼 166
7.3.3 命名命令 167
7.4 通信協定 167
7.4.1 簡單協定 167
7.4.2 統一請求協定 169
7.5 管理工具 170
7.5.1 redis-cli 170
7.5.2 phpRedisAdmin 171
7.5.3 Rdbtools 173
附錄A Redis命令屬性 175
A.1 REDIS_CMD_WRITE 175
A.2 REDIS_CMD_DENYOOM 177
A.3 REDIS_CMD_NOSCRIPT 178
A.4 REDIS_CMD_RANDOM 179
A.5 REDIS_CMD_SORT_FOR_SCRIPT 179
A.6 REDIS_CMD_LOADING 179
附錄B 配置參數索引 181
作者簡介
李子驊(Luin),北京航空航天大學軟體學院2009級本科生,隨行科技聯合創始人。先後工作於街旁網、微軟亞洲研究院和紐約時報中文網。熱愛網際網路,並熱衷於各種新技術,對很多開發語言均有涉獵,擅長Node.js與Redis,有兩年多的Redis使用經驗。願意將自己對技術的感悟與他人分享。個人部落格:http://zihua.li。