redis(一)数据类型之set

redis(一)数据类型之set

1.set类型的特点和意义?

存储大量的数据、相比于list在查询方面提供更高的效率、无序集合、元素唯一性(适用于多种业务场景)。

2.set与hash的区别和联系?

set本质上就是去掉value而已field来保存属性的hash。

3.基本操作

增加元素并创建set:sadd key value1 value2 …(若成功返回1,失败则报错)

返回指定set的全部数据: smembers key(若成功返回数据,失败则报错)

删除set中的指定数据: srem key value(若成功则返回1,失败返回0)

返回set中的元素个数: scard key

判断该元素是否在set中:sismember key value(若是则返回1,否则返回0)

4.扩展操作

4.1 操作随机数据(适用于随机推荐等业务场景)

​ 随机获取set中指定数量的数据: srandmember key count

​ 随机获取集合中的某个数据并将该数据移出集合:spop key

业务场景举例并分析:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jYmsaamu-1628088216147)(C:\Users\Administrator\Desktop\note\img\Snipaste_2021-08-04_22-10-40.png)]

4.2 集合交并差操作

​ 返回两个集合交集(key1交key2): sinter key1 key2

​ 返回两个集合并集(key1并key2): sunion key1 key2

​ 返回两个集合差集(key1 - key2): sdiff key1 key2

​ 存储两个集合交集:sinterstore key1 key2(成功返回1)

​ 存储两个集合并集:sunionstore key1 key2(成功返回1)

​ 存储两个集合差集:sdiffstore key1 key2(成功返回1)

​ 将指定数据从原始集合移动到目标集合: smove source destination member

业务场景举例:

利用set元素唯一性与交并差操作可以适合相当多的业务场景,例如单一用户多重角色的权限管理、网站pv、uv 、 ipv等数据统计。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-flRaqagd-1628088216148)(C:\Users\Administrator\Desktop\note\img\Snipaste_2021-08-04_22-30-17.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bbAQuvGi-1628088216151)(C:\Users\Administrator\Desktop\note\img\Snipaste_2021-08-04_22-22-06.png)]

d-1628088216148)]

[外链图片转存中…(img-bbAQuvGi-1628088216151)]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值