redis筆記 壓縮列表

2021-10-23 22:18:29 字數 678 閱讀 3929

1.壓縮列表

壓縮列表是列表鍵和雜湊鍵的底層實現之一, 當包含的少量列表項並且列表項是小整數值或者較短字串時,redis會使用壓縮列表鍵的底層實現

2.壓縮列表的構成

zlbytes: 壓縮列表的總長

zltail: 尾節點距離壓縮列表起始位址的便宜量

zllen: 表示壓縮列表包含的節點數量

3.壓縮列表節點

previous_entry_length: 記錄前乙個節點的長度, 通過這個屬性可以獲取前乙個節點的指標

encoding: 記錄節點content屬性所儲存資料的型別和長度, 值的高位為00、01、10代表content儲存的是位元組陣列,

長度由編碼除去最高兩位之後的其他位記錄. 11代表content儲存的這整數值

content: 儲存節點的值,可以是位元組陣列或者整數

4.連鎖更新

如果前乙個節點的長度小於254位元組,那麼previous_entry_length屬性需要用乙個位元組,如果長度大於254位元組,則previous需要

5個位元組來儲存. 如果有連續長度是250-253的節點,當新節點長度超過254時並且設定為了頭節點,就會導致每個節點都要擴充套件

(刪除也會導致這種情況)

redis 壓縮列表

壓縮列表是列表鍵和雜湊鍵的底層實現之一。當乙個列表鍵只包含少量列表項,並且每個列表項要麼就是小整數值,要麼就是長度比較短的字串,那麼redis就會使用壓縮列表來做列表鍵的底層實現。另外,當乙個雜湊鍵只包含少量鍵值對,並且每個鍵值對的鍵和值要麼就是小整數值,要麼就是長度比較短的字串,那麼redis就會...

Redis之壓縮列表

壓縮列表 ziplist 是列表鍵和雜湊鍵的底層實現之一。當乙個列表鍵只包含少量列表項,並且每個列表項要麼就是小整數值,要麼就是長度比較短的字串,redis就會使用壓縮列表來做列表鍵的底層實現。下面看一下壓縮列表實現的列表鍵 列表鍵裡面包含的都是1 3 5 10086這樣的小整數值,以及 hello...

Redis中的壓縮列表

壓縮列表 ziplist 是列表鍵和雜湊鍵的底層實現之一。當乙個列表鍵只包含少量列表項,並且每個列表項要麼就是小整數值,要麼就是長度比較短的字串,那麼redis就會使用壓縮列表來做列表鍵的底層實現。例如,執行以下命令將建立乙個壓縮列表實現的列表鍵 127.0 0.1 6379 rpush 1st 1...