Set—redis中的一种数据类型,底层使用HashTable实现,集合内不重复,查找,删除元素的时间复杂度为O(1)即不会因这个集合多大而改变查找速度。
1.集合增加元素
sadd myset m1
在集合myset中添加了一个元素 m1.成功返回1,失败返回0.
2.移除元素
srem myset m1
在集合myset中移除了一个元素 m1.
3.删除并返回集合内随机的一个元素。
spop myset
4.随机取一个集合内的元素。
srandmember myset
5.取得集合总数
scard myset
6.判断元素是否在集合内
sismember myset m1
存在返回1,不存在返回0.
7.返回交集
sinter myset myset1 ...
例如-返回myset (1,2,3)和myset1(1,4,5)的交集(1)。
可以有很多集合
8.取得集合的交集并保存到新的集合中
sinterstore myinterset myset myset1 ...
myinterset 是myset 和myset 1的交集。可以有很多集合
9.返回多个集合的并集
sunion myset myset1 ...
10.取得集合的并集并保存到新的集合中
sunionstrore myunionset myset myset1 ...
11.返回多个集合的差集
sdiff myset myset1
myset (1,2,3) myset1(1,2,5) 返回 (3).
差集指的是第一个元素存在第二个元素不存在的元素的集合。
12.取得集合的差集并保存到新的集合中
sdiffstore mydiffset myset myset1
13.返回集合中元素的数量
smembers myset