首页 > 技术分享 > Redis
收藏

Redis集合(SET)操作

11/23 17:10
大潇博客 原创文章,转载请标明出处

首先简单理解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都有


打赏

阅读排行

大家都在搜

博客维护不易,感谢你的肯定
扫码打赏,建议金额1-10元
  • 15601023311