Redis学习之旅 Set篇

Redis学习之旅 Set篇

set和list一样都是一个存储容器,但是它的list有两个不同的地方
一是无序
二是元素会自动去重

命令学习

redis-cli模式下键入 help @set 就可以快速相关的命令集合

1.0时代/2.0时代

set也是一个不经常变更的命令集,在1.0时代添加了大量的set命令之后 ,2.0版本增加过一个命令后就再也没有维护过,此处进行合并

项目Value作用示例
SADD1.0.0向set里添加元素SADD key member [member …]
SCARD1.0.0获取set集合中的元素个数SCARD key
SDIFF1.0.0求第一个Key的差集SDIFF key [key …]
SDIFFSTORE1.0.0求差集并存入KeySDIFFSTOREdestination key [key …]
SINTER1.0.0求多个集合中的交集SINTER key [key …]
SINTERSTORE1.0.0求完交集,将交集存入指定KeySINTERSTORE destination key [key …]
SISMEMBER1.0.0判断元素是否存在SISMEMBER key member
SMEMBERS1.0.0获取所有元素SMEMBERS key
SMOVE1.0.0指定元素从源头集合移动到目标集合SMOVE source destination member
SPOP1.0.0命令用于移除集合中的指定 key 的一个或多个随机元素SPOP key [count]
SRANDMEMBER1.0.0随机取一部分元素SRANDMEMBER key [count]
SREM1.0.0删除某些元素SREM key member [member …]
SSCAN2.8.0一样,用来查看元素合集的SSCAN key cursor [MATCH pattern] [COUNT count]
SUNION1.0.0求并集SUNION key [key …]
SUNIONSTORE1.0.0求并集并存入SUNIONSTORE destination key [key …]

关注点

SDIFF/SINTER/SUNION

可以拿来计算一系列数据的交集、并集、差集

SSCAN /SMEMBERS

和其他的指令一样,不考虑使用老版本的元素查看指令,使用SCAN系列命令,防止其他命令阻塞

SRANDMEMBER

它的count 参数比较好玩,可以分为正数/负数/0三种场景

  • 正数:保证不重复的情形下,返回元素,要求返回的元素超出set总量的时候,只返回完整的set
  • 负数:优先保证数据,返回的元素可能会出现重复
  • 0:什么都不返回
    在这里插入图片描述

面试?

你怎么实现快速查询给定的几个人在博客系统里的共同关注?

  • 可以直接拿set求下关注的作者set的交集嘛!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值