存储类型
String 类型的无序集合,最大存储数量2^32-1(40亿左右)
Redis用intset或hashtable存储set。如果元素都是整数类型,就用inset存储。如果不是整数类型,就用hashtable(数组+链表的存来储结构)。在这里就不再重复贴图。
redis.conf
set-max-intset-entries 512
127.0.0.1:6379> sadd lset 1 2 3 3 4 5 6 7
(integer) 7
127.0.0.1:6379> object encoding lset
"intset"
127.0.0.1:6379> sadd strset a b c d e f f
(integer) 6
127.0.0.1:6379> object encoding strset
"hashtable"
Set集合类型有一些集合的一些特有命令,可以结合特殊场景具体使用。比如:
命令 | 说明 |
---|---|
sdiff key1 [key2] | 两个set集合取差集 |
sinter key1 [key2] | 两个set集合取交集 |
srandmember key [count] | 返回集合中一个或多个随机数 |
命令集合之后统一整理,不再这里赘述了