> 原書出處:http://redisbook.com/
# Redis 設計與實現

歡迎來到《Redis 設計與實現》的支持網站!
《Redis 設計與實現》一書全面而完整地講解了 Redis 的內部運行機制, 對 Redis 的大多數單機功能以及所有多機功能的實現原理進行了介紹, 展示了這些功能的核心數據結構以及關鍵的算法思想。 通過閱讀本書, 讀者可以快速、有效地了解 Redis 的內部構造以及運作機制, 從而學會如何更高效地使用 Redis 。
你可以通過訪問本站, 或者關注本書作者的[微博](http://weibo.com/huangz1990)、[twitter](https://twitter.com/huangz1990)和[豆瓣](http://www.douban.com/people/i_m_huangz/)來獲知本書的最新消息。
本站內容為試讀章節,購買本書請訪問:?[京東商城](http://item.jd.com/11486101.html)?、?[互動出版網(china-pub)](http://product.china-pub.com/3770218)?、?[亞馬遜](http://www.amazon.cn/%E6%95%B0%E6%8D%AE%E5%BA%93%E6%8A%80%E6%9C%AF%E4%B8%9B%E4%B9%A6-Redis%E8%AE%BE%E8%AE%A1%E4%B8%8E%E5%AE%9E%E7%8E%B0-%E9%BB%84%E5%81%A5%E5%AE%8F/dp/B00L4XHH0S)?、?[當當網](http://product.dangdang.com/23501734.html)?, 另外本書的?[Kindle 版本](http://www.amazon.cn/Redis/dp/B00LZNV5B4)?、[多看閱讀版本](http://www.duokan.com/book/53962)?和?[豆瓣閱讀版本](http://read.douban.com/ebook/7519526/)?也已有售。
## 內容與特色介紹
本書介紹了以下內容:
* 字符串(string)、散列(hash)、列表(list)、集合(set)和有序集合(sorted set)這五種類型的鍵的底層實現數據結構。
* Redis 的對象處理機制以及數據庫的實現原理。
* 事務實現原理。
* 訂閱與發布實現原理。
* Lua 腳本功能的實現原理。
* `SORT`?命令的實現原理。
* `BITOP`?、?`BITCOUNT`?等二進制位處理命令的實現原理。
* 慢查詢日志的實現原理。
* RDB 持久化和 AOF 持久化的實現原理。
* Redis 事件處理器的實現原理。
* Redis 服務器和客戶端的實現原理。
* 復制(replication)、Sentinel 和集群(cluster)這三個多機功能的實現原理。
本書的特色是:
* 帶有豐富的圖示和表格, 幫助讀者更好地理解書中的知識點。
* 關注功能的高層設計思路而不是底層的實現代碼, 讓讀者無須花時間研讀代碼就可以了解到 Redis 的內部實現。
* 提供帶有中文注釋的 Redis 源碼, 幫助有需要的讀者做進一步的學習。
- 介紹
- 前言
- 致謝
- 簡介
- 第一部分:數據結構與對象
- 簡單動態字符串
- SDS 的定義
- SDS 與 C 字符串的區別
- SDS API
- 重點回顧
- 參考資料
- 鏈表
- 鏈表和鏈表節點的實現
- 鏈表和鏈表節點的 API
- 重點回顧
- 字典
- 字典的實現
- 哈希算法
- 解決鍵沖突
- rehash
- 漸進式 rehash
- 字典 API
- 重點回顧
- 跳躍表
- 跳躍表的實現
- 跳躍表 API
- 重點回顧
- 整數集合
- 整數集合的實現
- 升級
- 升級的好處
- 降級
- 整數集合 API
- 重點回顧
- 壓縮列表
- 壓縮列表的構成
- 壓縮列表節點的構成
- 連鎖更新
- 壓縮列表 API
- 重點回顧
- 對象
- 對象的類型與編碼
- 字符串對象
- 列表對象
- 哈希對象
- 集合對象
- 有序集合對象
- 類型檢查與命令多態
- 內存回收
- 對象共享
- 對象的空轉時長
- 重點回顧
- 第二部分:單機數據庫的實現
- 數據庫
- 數據庫鍵空間
- 重點回顧
- RDB 持久化
- RDB 文件結構
- 重點回顧
- AOF 持久化
- AOF 持久化的實現
- 重點回顧
- 事件
- 文件事件
- 重點回顧
- 參考資料
- 客戶端
- 客戶端屬性
- 重點回顧
- 服務器
- 命令請求的執行過程
- 重點回顧
- 第三部分:多機數據庫的實現
- 復制
- 舊版復制功能的實現
- 重點回顧
- Sentinel
- 啟動并初始化 Sentinel
- 重點回顧
- 參考資料
- 集群
- 節點
- 重點回顧
- 第四部分:獨立功能的實現
- 發布與訂閱
- 頻道的訂閱與退訂
- 重點回顧
- 參考資料
- 事務
- 事務的實現
- 重點回顧
- Lua 腳本
- 創建并修改 Lua 環境
- 重點回顧
- 排序
- SORT <key> 命令的實現
- 重點回顧
- 二進制位數組
- GETBIT 命令的實現
- 重點回顧
- 慢查詢日志
- 慢查詢記錄的保存
- 慢查詢日志的閱覽和刪除
- 添加新日志
- 重點回顧
- 監視器
- 成為監視器
- 向監視器發送命令信息
- 重點回顧
- 源碼、相關資源和勘誤