Redis資料結構的內部編碼

小城依舊發表於2021-01-02
資料結構 內部編碼 說明
string int 8個位元組,長度小於20的長整型
embstr 小於等於44個字元的字串
raw 大於44個字元的字串
hash ziplist 壓縮列表
雜湊型別元素個數小於hash-max-ziplist-entries配置(預設512個)
同時所有值都小於hash-max-ziplist-value配置(預設64位元組)
使用此編碼
hashtable 雜湊表
雜湊型別元素個數大於hash-max-ziplist-entries配置(預設512個)
或者元素的值大於hash-max-ziplist-value配置(預設64位元組)
使用此編碼
list ziplist 壓縮列表
列表型別元素個數小於hash-max-ziplist-entries配置(預設512個)
同時所有值都小於hash-max-ziplist-value配置(預設64位元組)
使用此編碼
linkedlist 連結串列
列表型別元素個數大於hash-max-ziplist-entries配置(預設512個)
或者元素的值大於hash-max-ziplist-value配置(預設64位元組)
使用此編碼
quicklist 快速列表
v3.2以後取代了壓縮列表和連結串列作為列表的內部編碼
set intset 整數集合
當集合元素都是整數且元素個數小於set-max-intset-entries配置(預設512個)
使用此編碼
hashtable 雜湊表
當集合元素不為整數或元素個數大於set-max-intset-entries配置(預設512個)
使用此編碼
zset ziplist 壓縮列表
當有序集合元素個數小於zset-max-ziplist-entries配置(預設128個)
同時每個元素的值都小於zset-max-ziplist-value配置(預設64位元組)
使用此編碼
skiplist 跳躍表
當有序集合元素個數大於zset-max-ziplist-entries配置(預設128個)
或者元素的值大於zset-max-ziplist-value配置(預設64位元組)
使用此編碼
本作品採用《CC 協議》,轉載必須註明作者和本文連結
小城依舊

相關文章