redis筆記 有序集合物件

2021-10-24 03:43:47 字數 710 閱讀 4115

1.有序集合的編碼可以是ziplist或者skiplist

2.當使用ziplist編碼時,每個集合元素使用兩個緊挨在一起的壓縮列表節點來儲存,第乙個節點儲存元素的成員,第二個元素則儲存元素的分值

3.ziplist內的集合元素按分值從小到大進行排序,分值小的元素被放置表頭方向

4.當使用skiplist編碼的有序集合物件使用zset結構作為底層實現

typedef struct zset  zset;
a. zset同時使用dict字典和zskiplist跳躍表, zsl跳躍表按分值從小到大儲存了所有集合的元素,每個跳躍表節點都儲存乙個集合元素,跳躍表節點的object屬性儲存了元素的成員,score屬性儲存了元素的分值

b. dict字典中鍵儲存了元素的成員,值儲存了元素的分值

5.zset中的兩種資料結構都會通過指標來共享相同元素的成員和分值

6.使用ziplist兩個條件

a. 有序集合儲存的元素個數小於128個

b. 有序集合儲存的所有元素成員的長度都小於64位元組

Redis學習筆記 有序集合物件zset

參考 有序集合物件的編碼是 1.1 ziplist編碼 ziplist編碼的有序集合物件使用壓縮列表作為底層實現,每個集合元素使用兩個緊挨在一起的壓縮列表節點來儲存,第乙個節點儲存元素的成員 member 第二個元素儲存元素的分值 score 壓縮列表內的集合元素按分值從小到大排序,分值較小的元素被...

Redis 有序集合

redis 有序集合和集合一樣也是string型別元素的集合,且不允許重複的成員。不同的是每個元素都會關聯乙個double型別的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。有序集合的成員是唯一的,但分數 score 卻可以重複。集合是通過雜湊表實現的,所以新增,刪除,查詢的複雜度...

Redis有序集合

redis 有序集合和集合一樣也是string型別元素的集合,且不允許重複的成員。不同的是每個元素都會關聯乙個double型別的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。有序集合的成員是唯一的,但分數 score 卻可以重複。集合是通過雜湊表實現的,所以新增,刪除,查詢的複雜度...