码迷,mamicode.com
首页 > 其他好文 > 详细

Redis---set

时间:2020-05-22 16:54:32      阅读:63      评论:0      收藏:0      [点我收藏+]

标签:编码   复杂度   null   素数   table   style   整数   class   int   

最多存储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

标签:编码   复杂度   null   素数   table   style   整数   class   int   

原文地址:https://www.cnblogs.com/crossdunk/p/12938059.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!