redis学习之集合

redis 集合(Set)是字符串的无序排列,且没有重复的字符串;
redis 集合(Set)是基于哈希表实现的,所以添加、查询、删除操作非常快速,时间复杂度为O(1)常数级;
redis 集合(Set)可以存储40多亿个成员;


目录

加入集合

查询集合

删除成员

差集

交集

并集

迭代

一些经典的应用场景


加入集合

  • sadd key member [member [...]] 把一个或多个成员加入集合 key 里;
  • smove source destination member 把成员member从集合source移动到集合destination;

查询集合

  • sismember key member 检查成员member是否在集合key里;
  • smembers key 取得集合中的所有成员;
  • scard key 取得集合中成员的数量;
  • spop key [count] 移除并返回集合中的一个或多个随机成员;
  • srandmember key [count] 取得集合中一个或多个随机成员;

删除成员

  • srem key member [member [...]] 移除集合key中一个或多个成员;

差集

求出现在第一个集合中的元素

  • sdiff key [key [...]] 返回所有给定集合的差集
  • sdiffstore destination key [key [...]] 把所有给定集合的差集保存在集合 destination 里;

交集

求出现在所有给定集合中的元素

  • sinter key [key [...]]  返回所有给定集合的交集
  • sinterstore destination key [key [...]] 把所有给定集合的交集保存在集合 destination 里;

并集

把所有给定集合的元素集合在一起

  • sunion key [key [...]] 返回所有给定集合的并集;
  • sunionstore destination key [key [...]] 把所有给定集合的并集保存在 destination 里;

迭代

  • sscan key cursor [MATCH pattern] [count] 迭代集合中的元素;

一些经典的应用场景

1. 用户的共同好友、共同关注等

使用集合来记录用户的好友,因为集合成员的唯一性,不会担心有重复的好友,使用集合交集计算很容易计算出多用户之间的共同好友。

2. 兴趣部落

建立一个兴趣部落,可以把兴趣部落里的用户保存为集合。

3. 扑克游戏

把扑克牌放入集合里,发牌时就使用spop命令操作。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值