1. 程式人生 > 實用技巧 >壓縮列表

壓縮列表

壓縮列表

壓縮列表(ziplist)是列表鍵和雜湊鍵的底層實現之一。

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

比如說, 執行以下命令將建立一個壓縮列表實現的列表鍵:

redis> RPUSH lst 1 3 5 10086 "hello" "world"
(integer) 6

redis> OBJECT ENCODING lst
"ziplist"

因為列表鍵裡面包含的都是13510086這樣的小整數值, 以及"hello""world"這樣的短字串。

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

舉個例子, 執行以下命令將建立一個壓縮列表實現的雜湊鍵:

redis> HMSET profile "name" "Jack" "age" 28 "job" "Programmer"
OK

redis> OBJECT ENCODING profile
"ziplist"