壓縮列表

2018-02-23 16:24 更新

壓縮列表

壓縮列表(ziplist)是列表鍵和哈希鍵的底層實(shí)現(xiàn)之一。

當(dāng)一個(gè)列表鍵只包含少量列表項(xiàng), 并且每個(gè)列表項(xiàng)要么就是小整數(shù)值, 要么就是長度比較短的字符串, 那么 Redis 就會使用壓縮列表來做列表鍵的底層實(shí)現(xiàn)。

比如說, 執(zhí)行以下命令將創(chuàng)建一個(gè)壓縮列表實(shí)現(xiàn)的列表鍵:

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

redis> OBJECT ENCODING lst
"ziplist"

因?yàn)榱斜礞I里面包含的都是?1?、?3?、?5?、?10086?這樣的小整數(shù)值, 以及?"hello"?、?"world"?這樣的短字符串。

另外, 當(dāng)一個(gè)哈希鍵只包含少量鍵值對, 并且每個(gè)鍵值對的鍵和值要么就是小整數(shù)值, 要么就是長度比較短的字符串, 那么 Redis 就會使用壓縮列表來做哈希鍵的底層實(shí)現(xiàn)。

舉個(gè)例子, 執(zhí)行以下命令將創(chuàng)建一個(gè)壓縮列表實(shí)現(xiàn)的哈希鍵:

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

redis> OBJECT ENCODING profile
"ziplist"

因?yàn)楣fI里面包含的所有鍵和值都是小整數(shù)值或者短字符串。

本章將對壓縮列表的定義以及相關(guān)操作進(jìn)行詳細(xì)的介紹。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號