Redis---set

Posted crossdunk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis---set相关的知识,希望对你有一定的参考价值。

最多存储2^32-1个元素,支持取交集、并集、差集

 

内部编码:

  1. 整数集合(intset)
    1.  typedef struct intset{
       uint32_t encoding;   --- 编码类型(int8_t, int16_t...)
       uint32_t length;     --- 元素个数
       int8_t contents[];   --- 可能不是int8_t,由encoding指定
      } intset;

      适用于集合都是整数,且数量较小的情况。复杂度从O(1)变为O(n)。 优势在于集中存储,节省空间。

  2. 哈希表(hashtable)
    1. 集合在使用hash表时,value都是null

编码转换:

使用整数集合条件:

  • 集合中元素数量小于512
  • 集合中元素都是整数值

 

以上是关于Redis---set的主要内容,如果未能解决你的问题,请参考以下文章

redis5--set的操作

redis set操作

Python-- Redis Set

Jedis操作Redis--Set类型

Redis:set/get 命令解析

Redis:set/sadd/sismember/sinter/sdiffstore 命令源码解析