Redis的整數集合

2021-09-19 04:16:49 字數 434 閱讀 1865

整數集合是集合鍵的底層實現之一,是redis用於儲存整數值的集合抽象資料結構,可以儲存的型別為int16_t、int32_t、int64_t,並保證集合中不會出現重複元素

typedef struct intset intset;
將乙個新元素加到整數集合,如果新元素的型別比整數集合現有所有元素的型別都要長時,整數集合需要公升級,然後再新增新元素。

公升級過程:

1、根據新元素,擴充套件整數集合底層空間大小,並為新元素分配空間

2、將底層陣列現有所有元素轉換成與新元素相同的型別,轉換後元素放到正確位上,並維持底層陣列的有序性質不變

3、新增新元素,修改整數集合屬性

公升級好處:

1、提公升整數集合的靈活性,幾種整數型別新增,不用擔心型別錯誤

2、盡可能地節省記憶體

整數集合不支援降級操作

Redis 整數集合

整數集合時集合鍵的底層實現之一,適用於只包含整數值,且數量不多的使用場景。可用於儲存int16 t,int32 t,int64 t的整數值。整數集合公升級 整數集合在儲存數值時,如果新的元素長度比久的大,那需要公升級。步驟如下 根據新元素的型別,擴充套件整數集合底層陣列空間大小,為新元素分配空間。將...

Redis之整數集合

整數集合是集合鍵的底層實現之一,當乙個結合只包含整數值元素,並且這個集合的元素數量不多時,redis就會使用整數集合作為集合作為集合鍵的底層實現。我們先來看一下它的結構 typedef struct intset intse它可以儲存的型別為int16 t int 32t int64 t,並且保證集...

五 整數集合(redis)

整數集合 intset 是集合鍵的底層實現之一當乙個集合只包含整數值元素,並且這 個集合的元素數量不多時,redis就會使用整數集合作為集合鍵的底層實現 contents 陣列 1.儲存元素的陣列 2.值的大小從小到大有序地排列 3.陣列中不包含任何重複項 length 長度 記錄了整數集合包含的元...