用于数据传输桥梁:经常会遇见采集一些仪器相关数据的需求,但通常方式都会让仪器生成数据文件,供其它程序进行解析,也有用Redis中List作为桥梁传输数据的,减少自己生成文件的过程,通过用List的方式,一边塞进去,一边定时取出,然后发送到远程。同样的道理,也可以用于一些消息的推送,比如关注了一个公众号,要发送给订阅者,首先公众号发表文章到List,有一个后台任务程序定时进行取出发给订阅者,这里就是拿公众号举一个例,并非公众号是这么实现。
模拟消息推送
专门有一个后台任务程序从关注者消息列表中取出消息,依次发给每个关注者。
list常规操作(获取,更新,插入):
set
set命令一般以s开头,里面元素无序且不重复,着重分享以下命令:
sadd key member [member ...]:在集合中增加一个或多个元素;
srem key member [member ...]:从集合中删除一个或多个元素;
smembers key:获取集合中的所欲元素;
scard key:获取集合中的元素个数;
sismember key member:判断指定member是否在集合中;
srandmember key [count]:从集合中获取count个元素,不从集合中删除;
spop key [count]:从集合中获取count个元素,从集合中删除
sinter key [key1 ...]:指定多个集合进行交集运算;
sinterstore dest key [key1 ...]:指定多个集合进行交集运算,存入dest集合;
sunion key [key1 ...]:指定多个集合进行并集运算;
sunionstore dest key [key1 ...]:指定多个集合进行并集运算,存入dest集合;
sdiff key [key1 ...]:指定多个集合进行差集运算;
sdiffstore dest key [key1 ...]:指定多个集合进行差集运算,并存入dest集合;
结合应用场景演练*↓↓↓*
抽奖逻辑:抽奖小伙伴们不陌生了吧,不管是公司年会抽奖,还是公众号参与抽奖,应该几乎不用亲手抓阄了吧。都是通过程序,把人员都放在一起,然后随机抽取,set很符合这种应用场景,如下:
以上是随便找一个抽奖小程序创建的抽奖,开始命令演练:
文章点赞:发表文章之后,可以进行点赞、取消点赞等相关操作;
共同好友统计
zset
zset的命令一般以z开头,里面元素是有序不可重复的。和Set用法基本一样,只是每个元素中多了一个分值,用于元素排序。
zadd key score member [(score member)...]:往有序集合中添加带分值的元素;
zrem key member [member...]:从有序集合中删除成员;
zscore key member:返回集合中指定成员的分值;
zcard key:统计集合中元素个数;
zrange key start stop [withscores]:返回指定范围的元素,withscores代表返回的元素包含对应的分值。
zreverange key start stop [withscores]:返回指定范围的倒序元素,withscores代表返回的元素包含对应的分值。
同set一样也可以进行交集、并集、差集的集合运算。
综合应用场景*↓↓↓*
用于排名:比如考试成绩的排名,新闻热度排行榜,直播打赏排名等。
新闻热榜:
总结
以上简单结合实例应用场景将五种基础类型的常用命令进行分享,还有大量的命令需要小伙伴们结合实际需求进行应用。文中实例大部分是周围项目中的使用场景,少部分是参考学习资料,总体来说,文中实例应用只作为思路参考,小伙伴可根据业务需求进行应用,对于命令的使用还需要小伙伴们多多练习实践。下一篇聊聊三种特殊类型。
一个被程序搞丑的帅小伙,关注"Code综艺圈",识别关注跟我一起学~~~
撸文不易,莫要白瞟,三连走起~~~~