Redis除了当缓存,还有哪些应用场景?( 六 )


Redis除了当缓存,还有哪些应用场景?

文章插图
在这里插入图片描述
4-4 set类型业务场景挖掘用户关系俩个集合的交、并、差集
sinter key key1
sunion key key1
sdiff key key1
俩个集合的交、并、差集并存储到指定集合中
sinterstore destination key1 key2
sunionstore destination key1 key2
sdiffstore destination key1 key2

Redis除了当缓存,还有哪些应用场景?

文章插图
案例:我们需要挖掘一个信息的共同好友 。例如微信公众号的共同关注好友数量、QQ添加新好友的推荐机制、深度挖掘用户直接的联系
就根据上述案例,我们可以使用差集来实现qq的有可能认识的好友 。
4-5 set类型业务场景 实现网站的PV UV IP的记录PV直接使用string类型的incr统计即可
UV和IP都是独立不重复的,使用set来操作 。
在上边我们知道set有一个特性就是不能重复,我们就可以根据这一点来轻松实现这个功能 。然后使用scard key 来统计数量 。
至于UV是独立访客,使用本地的cookie来实现就可以,方法一样把cookie传给redis做记录即可
Redis除了当缓存,还有哪些应用场景?

文章插图
5. sorted_set类型在之前的四个类型中都不支持排序的,下来咱们看的sorted_set类型是既支持存储大数据,也支持排序功能
5-1. sorted_set类型基本操作添加数据:zadd key score member
获取数据:zrange key start stop | zrevrange key start stop
删除数据:zrem key member
Redis除了当缓存,还有哪些应用场景?

文章插图
按条件获取数据:zrangebyscore key min max limit | zrevrangescore key max min
条件删除数据:zremrangebyrank key start stop | zremrangebyscore key min max