2 Redis中的鍊錶

2022-09-15 04:54:09 字數 563 閱讀 7763

鍊錶提供高效的節點重排能力,以及順序性的節點訪問方式,並且可以通過增刪節點來靈活的調整鍊錶的長度。

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...