SET类型
SET类型常见操作
说明:set是无序集合
-
写操作:
- SADD KEY MEMBER1 MEMBER2 MEMBER3...【返回值是集合数量】
- SREM KEY MEMBER1 MEMBER2 MEMBER3...【删除为key的集合中MEMBER1的set,返回删除数量】
-
读操作:
- SISMEMBER KEY MEMBER1 【查看集合key中是否有MEMBER1】
- SCARD KEY【查看集合KEY中有多少个元素】
- SMEMEBERS KEY【查看KEY中所有的元素】
- SSCAN key cursor [MATCH pattern] [COUNT count]SSCAN命令返回的结果是一个包含两个元素的数组,第一个元素是下一个迭代器的游标,第二个元素是一个数组,包含了迭代到的成员】
- SINTER KEY1[KEY2,KEY3.....]【求交集,返回在KEY1中,又在KEY2,KEY3中所有的元素】
- SDIF KEY1[KEY2,KEY3.....]【返回在KEY1中,但不在KEY2,KEY3中所有的元素】
- SUNION KEY1[KEY2,KEY3.....]【求并集】
SET编码方式
说明:REDIS的所有OBJECT的结构体字段包含:TYPE(这里是SET型) ENCODING REFCOUNT PTR(内容指针)
- 当元素小于等于512时,采用INTESET(整数集合),节约内存,二分查找时间复杂度O(log2N)
- 当元素大于512时,采用HASHTABLE(字典),查找时间复杂度O(1)