Redis底層資料結構?

2021-10-08 15:46:48 字數 549 閱讀 8322

福哥口訣法:簡鏈字跳整 壓快壓

sds ****** synamic string:簡單動態字串。支援自動動態擴容的位元組陣列 。

list :鍊錶 。雙端鍊錶。

dict :字典。使用雙雜湊表實現的, 支援平滑擴容的字典 。

zskiplist :跳躍表。附加了後向指標的跳躍表 。

intset :整數集合。用於儲存整數數值集合的自有結構 。

ziplist :壓縮列表。一種實現上類似於tlv, 但比tlv複雜的, 用於儲存任意資料的有序序列的資料結構 。

quicklist:快速列表。一種以ziplist作為結點的雙鏈表結構, 實現的非常不錯 。

zipmap :壓縮字典。一種用於在小規模場合使用的輕量級字典結構 。

string底層是sds 內部編碼 int,emstr,raw 。

hash是ziplist與hashtable 。

list採取的雙端鍊錶linklist,壓縮列表ziplist。

set是hashtable和inset 。

zset是ziplist和skiplist。

Redis底層資料結構

redis底層實現的8種資料結構 sds synamic string 支援自動動態擴容的位元組陣列 list 鍊錶 dict 使用雙雜湊表實現的,支援平滑擴容的字典 zskiplist 附加了後向指標的跳躍表 intset 用於儲存整數數值集合的自有結構 ziplist 一種實現上類似於tlv,但...

redis底層資料結構

1.1 string字串 表現形式為 資料結構 sds 簡單的動態字串 使用原因 redis是使用c語言開發的,但在c語言中是沒有字串型別的,只能使用指標或符陣列的形式表示乙個字串,所以在redis設計了一種簡單的動態字串 可以根據不同的資料型別不同的資料結構選擇不同的資料結構 支援的資料型別 字串...

Redis底層資料結構

redis 開源,c語言編寫的key value資料庫 字串 redis中的字串並沒有直接使用c語言傳統的字串表示,而是自己構建了一種名為簡單動態字串 dynamic string sds 的抽象型別,並且將sds作為redis的預設字串表示,c字串和sds的區別 c 字串 sds獲取字串長度的複雜...