Redis Set类型详解
2024年1月1日
set
是什么
是一个不重复、无序的字符串集合
如果是 intset 编码时,其实是有序的,整体看成无序的就行
适合场景
适合无序集合场景,如某个用户关注了哪些公众号
set 还提供了查交集,并集的功能
常用操作

写
1. SADD

2. SREM

读
3. SISMEMBER

4. SCARD

5. SMEMBERS

6. SSCAN
redis使用scan count 返回数量不准确 - 二娃的园子 - 博客园
每次使用游标,都会使用上次使用后返回的游标作为本次游标参数,来延续之前的迭代过程

7. SINTER


8. SUNION

9. SDIFF

底层实现
编码方式

INTSET
- 如果集群元素都是整数,且元素数量不超过 512 个,可以使用 INTSET 编码
- INTSET 排列比较紧凑,内存占用少
- 查找时需要 二分查找

HASHTABLE
- 不满足 INTSET 条件,就使用 HASHTABLE
- 查询一个元素的性能很高,O1
比如 set(1,2,3)在 hashtable 中以键值对形式存在就是
