表 3-1 列出了所有用于操作鏈表和鏈表節點的 API 。
* * *
表 3-1 鏈表和鏈表節點 API
| 函數 | 作用 | 時間復雜度 |
| --- | --- | --- |
| `listSetDupMethod` | 將給定的函數設置為鏈表的節點值復制函數。 | ?。 |
| `listGetDupMethod` | 返回鏈表當前正在使用的節點值復制函數。 | 復制函數可以通過鏈表的?`dup`?屬性直接獲得,? |
| `listSetFreeMethod` | 將給定的函數設置為鏈表的節點值釋放函數。 | ?。 |
| `listGetFree` | 返回鏈表當前正在使用的節點值釋放函數。 | 釋放函數可以通過鏈表的?`free`?屬性直接獲得,? |
| `listSetMatchMethod` | 將給定的函數設置為鏈表的節點值對比函數。 |  |
| `listGetMatchMethod` | 返回鏈表當前正在使用的節點值對比函數。 | 對比函數可以通過鏈表的?`match`?屬性直接獲得, |
| `listLength` | 返回鏈表的長度(包含了多少個節點)。 | 鏈表長度可以通過鏈表的?`len`?屬性直接獲得,??。 |
| `listFirst` | 返回鏈表的表頭節點。 | 表頭節點可以通過鏈表的?`head`?屬性直接獲得,??。 |
| `listLast` | 返回鏈表的表尾節點。 | 表尾節點可以通過鏈表的?`tail`?屬性直接獲得,??。 |
| `listPrevNode` | 返回給定節點的前置節點。 | 前置節點可以通過節點的?`prev`?屬性直接獲得,??。 |
| `listNextNode` | 返回給定節點的后置節點。 | 后置節點可以通過節點的?`next`?屬性直接獲得,??。 |
| `listNodeValue` | 返回給定節點目前正在保存的值。 | 節點值可以通過節點的?`value`?屬性直接獲得,??。 |
| `listCreate` | 創建一個不包含任何節點的新鏈表。 |  |
| `listAddNodeHead` | 將一個包含給定值的新節點添加到給定鏈表的表頭。 |  |
| `listAddNodeTail` | 將一個包含給定值的新節點添加到給定鏈表的表尾。 |  |
| `listInsertNode` | 將一個包含給定值的新節點添加到給定節點的之前或者之后。 |  |
| `listSearchKey` | 查找并返回鏈表中包含給定值的節點。 | ?,?`N`?為鏈表長度。 |
| `listIndex` | 返回鏈表在給定索引上的節點。 | ?,?`N`?為鏈表長度。 |
| `listDelNode` | 從鏈表中刪除給定節點。 | ?。 |
| `listRotate` | 將鏈表的表尾節點彈出,然后將被彈出的節點插入到鏈表的表頭, 成為新的表頭節點。 |  |
| `listDup` | 復制一個給定鏈表的副本。 | ?,?`N`?為鏈表長度。 |
| `listRelease` | 釋放給定鏈表,以及鏈表中的所有節點。 | ?,?`N`?為鏈表長度。
|
- 介紹
- 前言
- 致謝
- 簡介
- 第一部分:數據結構與對象
- 簡單動態字符串
- SDS 的定義
- SDS 與 C 字符串的區別
- SDS API
- 重點回顧
- 參考資料
- 鏈表
- 鏈表和鏈表節點的實現
- 鏈表和鏈表節點的 API
- 重點回顧
- 字典
- 字典的實現
- 哈希算法
- 解決鍵沖突
- rehash
- 漸進式 rehash
- 字典 API
- 重點回顧
- 跳躍表
- 跳躍表的實現
- 跳躍表 API
- 重點回顧
- 整數集合
- 整數集合的實現
- 升級
- 升級的好處
- 降級
- 整數集合 API
- 重點回顧
- 壓縮列表
- 壓縮列表的構成
- 壓縮列表節點的構成
- 連鎖更新
- 壓縮列表 API
- 重點回顧
- 對象
- 對象的類型與編碼
- 字符串對象
- 列表對象
- 哈希對象
- 集合對象
- 有序集合對象
- 類型檢查與命令多態
- 內存回收
- 對象共享
- 對象的空轉時長
- 重點回顧
- 第二部分:單機數據庫的實現
- 數據庫
- 數據庫鍵空間
- 重點回顧
- RDB 持久化
- RDB 文件結構
- 重點回顧
- AOF 持久化
- AOF 持久化的實現
- 重點回顧
- 事件
- 文件事件
- 重點回顧
- 參考資料
- 客戶端
- 客戶端屬性
- 重點回顧
- 服務器
- 命令請求的執行過程
- 重點回顧
- 第三部分:多機數據庫的實現
- 復制
- 舊版復制功能的實現
- 重點回顧
- Sentinel
- 啟動并初始化 Sentinel
- 重點回顧
- 參考資料
- 集群
- 節點
- 重點回顧
- 第四部分:獨立功能的實現
- 發布與訂閱
- 頻道的訂閱與退訂
- 重點回顧
- 參考資料
- 事務
- 事務的實現
- 重點回顧
- Lua 腳本
- 創建并修改 Lua 環境
- 重點回顧
- 排序
- SORT <key> 命令的實現
- 重點回顧
- 二進制位數組
- GETBIT 命令的實現
- 重點回顧
- 慢查詢日志
- 慢查詢記錄的保存
- 慢查詢日志的閱覽和刪除
- 添加新日志
- 重點回顧
- 監視器
- 成為監視器
- 向監視器發送命令信息
- 重點回顧
- 源碼、相關資源和勘誤