Redis使用学习汇总(五)之集合

Redis数据结构:集合


集合只会存储非重复元素且无序。


数据结构

  • 集合
    在这里插入图片描述

集合(set)

  • 将元素添加到集合
    1.sadd命令  格式:sadd key member [member …]
    返回添加成功的元素的数量,元素重复时忽略。
    sadd key member [member ...]
    在这里插入图片描述

  • 从集合中移除元素
    1.srem命令  格式:srem key member [member …]
    移除元素,返回被移除的元素个数。
    srem key member [member ...]
    在这里插入图片描述
    2.spop命令  格式:spop key [count]
    随机移除count个元素,没有给定count默认移除一个元素,执行成功返回被移除的元素,count为负时返回error。
    spop key [count]
    在这里插入图片描述

  • 移动元素
    1.smove命令  格式:smove source destination member
    将元素从一个集合移到另一个集合,执行成功返回1,否则返回0,当元素在目标集合中存在时也返回1。
    smove source destination member
    在这里插入图片描述

  • 获取集合包含的元素
    1.smembers命令  格式:smembers key
    获取集合包含的所有元素。
    smembers key
    在这里插入图片描述
    2.srandmember命令  格式:srandmember key [count]
    随机获取指定数量的元素,没有给定count默认获取一个元素。count大于集合元素个数时返回所有,count为负时返回|count|个元素且允许重复。
    srandmember key [count]
    在这里插入图片描述

  • 获取集合的元素个数
    1.scard命令  格式:scard key
    返回集合包含的元素数量
    scard key
    在这里插入图片描述

  • 检查元素是否存在于集合
    1.sismember命令  格式:sismember key member
    返回1表示元素存在于集合,返回0表示不存在。
    sismember key member
    在这里插入图片描述

  • 运算
    1.交集
     1)sinter命令  格式:sinter key [key …]
    返回交集包含的元素。
    sinter key [key ...]
    在这里插入图片描述
     2)sinterstore命令  格式:sinterstore destination key [key …]
    将交集存储到指定的destination集合,若destination已存在将先删除其包含元素再存储,执行完毕后返回被存储的交集元素数量。
    sinterstore destination key [key ...]
    在这里插入图片描述
    2.并集
     1)sunion命令  格式:sunion key [key …]
    返回并集包含的元素。
    sunion key [key ...]
    在这里插入图片描述
     2)sunionstore命令  格式:sunionstore destination key [key …]
    将并集存储到指定的destination集合,若destination已存在自动覆盖,执行完毕后返回被存储的并集元素数量。
    sunionstore destination key [key ...]
    在这里插入图片描述
    3.差集
     1)sdiff命令  格式:sdiff key [key …]
    从第一个key中获取差集并返回差集包含的元素。
    sdiff key [key ...]
    在这里插入图片描述
     2)sdiffstore命令  格式:sdiffstore destination key [key …]
    将差集存储到指定的destination集合,若destination已存在自动覆盖,执行完毕后返回被存储的差集元素数量。
    sdiffstore destination key [key ...]
    在这里插入图片描述

  • 常见用法
    1.唯一计数器(对同一个对象只进行一次计数)
    2.标签组
    3.点赞功能、投票功能
    4.抽奖(随机获取元素)
    5.共同关注
    6.商品筛选(类别交集)


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值