首先简单理解SET操作:
1、通常所说的Redis集合,是由n个String类型的值组成的无序集合;集合成员是唯一的,也就意味着集合中不能出现重复的数据
2、Redis中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)
3、集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)
注意:集合无序,不能取对应下标的值
相关命令
1、创建集合,向集合中添加一个或多个成员
sadd key member_1 member_2 ...
对于已存在的集合,可使用sadd继续添加成员
2、获取集合的成员数
scard key
3、返回集合所有成员
smembers key
4、随机返回集合中一个或多个成员值
srandmember key [count]
count选填,默认为1
5、随机移除并返回集合中的元素
spop key [count]
count选填,默认为1
6、判断某个成员是否在集合中:sismember key member
sismember key member
0:不在 1:在
例如
sadd user Tom Jack Lucy Alex Cray
sismember user Lucy
# (integer) 1
交集、并集、差集相关操作
7、返回给定集合的并集
sinter key1 key2 key3 ...
8、返回给定集合的交集
sunion key1 key2 key3 ...
9、返回第一个集合与其它集合之间的差集
sdiff key1 key2 key3 ..
集合操作举例
# 设置三个集合
sadd user Tom Lucy Jack Alex Cary
sadd member Tom Lucy
sadd vip Jack Alex
# 找交集
sinter user member vip
# 这三个并没有交集,返回空
sinter user member
# Tom Lucy
sinter user vip
# Jack Alex
# 找并集
sunion user member vip
# Tom Lucy Jack Alex Cary
sunion member vip
# Tom Lucy Jack Alex
#找差集
sdiff user member
# Jack Alex Cary
sdiff user vip
# Tom Lucy Cary
sdiff member user
# 返回空,member中的成员,user都有
上一篇:Redis的setbit操作
下一篇:Redis有序集合主要操作