Redis Set和Sorted Set

Set介绍

Redis中的Set是一种无序集合,集合中的元素无先后顺序但是都唯一,类似Java的HashSet,当你需要存储一个列表数据,又不希望出现重复数据时,Set是一个很好的选择,并且Set提供了判断某个元素是否在一个Set集合内的重要接口,这也是List所不能提供的

基于Set轻易实现交集、并集、差集的操作。

Set常用命令

SADD key member1 member2 向指定集合添加一个或多个元素
SMEMBERS key 获取指定集合中的所有元素
SCARD key 获取指定集合的元素数量
SISMEMBER key member 判断指定元素是否在指定集合中
SINTER key1,key2… 获取给定所有集合的交集
SINTERSTORE destination key1 key2…将给定所有集合的交集存储在destination中
SUNION key1 key2… 将给定所有集合的并集存储在destination中
SDIFF key1 key2…获取给定所有集合的差集
SDIFFSTORE destination key1 key2…将给定所有集合的差集存储在destination中
SPOP key count 随机移除并获取指定集合中一个或多个元素
SRANDMEMBER key count 随机获取指定集合中指定数量的元素

Set应用场景

网站UV统计、文章点赞、动态点赞
共同好友(交集)、共同粉丝(交集)、好友推荐(差集)、音乐推荐(差集)

Sorted Set

Sorted Set类似于Set,但与Set相比,Sorted Set增加了一个权重参数score,使得集合中的元素能够按score进行有序排列,还可以通过score的范围来获取元素的列表,有点像java中hashmap和treeset的结合体

Sorted Set常用命令

ZADD key score1 member1 score2 member2 向指定有序集合添加一个或多个元素
ZCARD key 获取指定有序集合的元素数量
ZCORE key member获取指定有序集合中指定元素的score值
ZINTERSTORE destination numkeys key1 key2… 将给定所有有序集合的交集存储在destination中,对相同元素对应的score值进行sum聚合操作,numkeys为集合数量
ZUNIONSTORE destination numkeys key1 key2 求并集 其他和ZINTERSTORE相似
ZDIFF destination numkeys key1 key2 求差集,其他和ZINTERSTORE相似
ZRANGE key start 获取指定有序集合start和end之间的元素(score从低到高)
ZREVRANGE key start end 获取指定有序集合start和end之间的元素(score从高到低)
ZREVRANK key member 获取指定有序集合中指定元素的排名(score从大到小排序)

应用场景

排行榜 比如直播间送礼物排行榜 微信步数排行榜

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值