set类型在实际项目中实际场景很多,下面我们来一起看一下。
场景一
某新闻类APP为增加用户活跃度,决定要让对某些分类的信息产生兴趣,在这里我们可以使用Redis随机获取数据,那么我们该怎么做呢?
思路
思路如下:
- 系统分析各个分类的热点或者最新的信息,并组成set集合;
- 随机挑选其中的信息;
- 结合用户已关注的分类的热点信息,组合成全信息推给用户。
问题与解决方案
这里就出现了要给问题,我们该如何随机挑选数据呢?有两种解决方法:
- 使用srundmember 指令,这个指令会随机从set集合中获取指定数量的数据,语法是这样的srundmember key count,其中count指的是要获取的数据数量。例如要随机获取3条音乐相关的新闻,指令这么编写
srundmember music 3
- 使用spop key count指令,它会从set集合中随机获取指定数量的数据,并将这些数据移除。语法是这样的spop key count,例如要随机获取音乐分类中3条数据,指令这么编写
spop music 3
。
Tip:set类型的随机获取数据的方法,可以应用于推荐类信息的检索。
总结
本片文件简单的讲解了set类型随机获取数据的场景。