redis 底層數據結構
簡單動態字符串SDS
- 包含字符串長度,剩餘可用長度,字符數組
- 用於Redis中全部的string存儲
字典(map)
- 數組+鏈表形式,跟hashMap很像
- 鏈地址法解決hash衝突
- rehash使用新建hash數組鏈表進行數據rehash遷移,擴容是大於原數組長度的第一個2的n次冪
漸進式rehash,就是否是一次性遷移完,而是在CRUD操做時,一點點遷移
- 用於hash類型數據
鏈表
- 雙端列表,直接有列表長度屬性
- 用於list類型數據
跳躍表
- 帶分值得一種有序類鏈表結構
- 每一個節點中的level中存儲分值相同的數據
- 每一個level中數據都有一個前進指針
- 用於sortedSet類型
整數集合
- 底層是int數組,經過encoding決定int的長度,也能夠在存儲過程當中進行長度升級,好比原先存儲的16位整形,要存一個32位整數,就須要進行類型升級
- 升級的好處就是類型靈活,節約內存
- 用於數據量比較小而且都是整形的list類型
壓縮列表
- 有內存字節數,節點個數,節點等屬性的順序型結構
- 用於整形或者長度較短的字符串的list,hash等類型
轉載請註明出處 阿布的夏天數組
歡迎關注本站公眾號,獲取更多信息