集合类型 (Set) 是一个无序并唯一的键值集合。
之所以说集合类型是一个无序集合,是因为它的存储顺序不会按照插入的先后顺序进行存储,如下代码所示:
127.0.0.1:6379> sadd myset v2 v1 v3 #插入数据 v2、v1、v3
(integer) 3
127.0.0.1:6379> smembers myset #查询数据
1) "v1"
2) "v3"
3) "v2"
从上面代码执行结果可以看出,myset 的存储顺序并不是以插入的先后顺序进行存储的。
集合类型和列表类型的区别如下:
- 列表可以存储重复元素,集合只能存储非重复元素;
- 列表是按照元素的先后顺序存储元素的,而集合则是无序方式存储元素的。
1 基础使用
集合类型的功能比列表类型丰富一些,集合类型可以用来统计多个集合的交集、错集和并集,如下代码所示。
1)添加一个或多个元素
语法:sadd key member [member …] 示例:
127.0.0.1:6379> sadd myset v1 v2 v3
(integer) 3
2)查询集合所有元素
语法:smembers key 示例:
127.0.0.1:6379> smembers myset
1) "v1"
2) "v3"
3) "v2"
3)查询集合的成员数量
语法:scard key 示例:
127.0.