鍊錶提供高效的節點重排能力,以及順序性的節點訪問方式,並且可以通過增刪節點來靈活的調整鍊錶的長度。
1、redis構建了自己的鍊錶,
鍊錶節點的結構(adlist.h/listnode):
typedef struct listnode
鍊錶結構(adlist.h/list):
typedef struct list
2、redis鍊錶特定:
雙端:鍊錶中每個鍊錶節點包含前後指標,獲得的前後節點的複雜度為o(1)
無環:表頭head的前指標與表尾tail後指標指向為null,鍊錶的訪問以null為終點
帶頭和尾指標:通過list訪問head指標和tail指標,訪問煉表頭和尾的複雜度為o(1)
帶鍊錶長度計數器:通過訪問list的len屬性來獲得list的長度,複雜度為o(1)
多型:鍊錶節點使用void*指標來儲存節點值,並且通過list結構的dup、free、match三個屬性為節點值設定型別特定函式,所以鍊錶可以用於儲存各種不同型別的值。
3、鍊錶用於範圍
用於實現redis的列表鍵、發布與訂閱、慢查詢、監控器等
Redis學習(2) redis安裝
yum install gcc c alt r開啟上傳視窗,拖拽redis 3.0.0.tar.gz 上傳 tar zxvf redis 3.0.0.tar.gz進入解壓資料夾 cd redis 3.0.0 執行make make prefix user local redis install上面這...
2 Redis啟動後的雜項
1 檢視電腦效能 服務啟動的情況下 分布式記憶體資料庫redis 在 usr local bin 路徑下 執行 redis beachmark 可以看看電腦效能 官網每秒 讀11萬,寫8萬 參考檢視自己電腦的效能 2 預設16個資料庫,類似陣列下標從零開始,初始預設使用零號庫 配置檔案中 datab...
redis學習筆記 2 redis的初始使用
set key value 新增鍵值對 get key 根據key獲取value del key 根據key刪除鍵值對 incr key 將value 1,如果沒有該key 預設設定該key值為0,並 1 key的型別必須為integer decr key 同上,將value 1 incrby ke...