瑜伽论坛

注册

 

发新话题 回复该主题

用redis如何实现亿级数据统计 [复制链接]

1#

在移动应用的业务场景中,我们需要保存这样的信息:一个key关联了一个数据集合,同时还要对集合中的数据进行统计排序。

常见的场景如下:

给一个userId,判断用户登陆状态;两亿用户最近7天的签到情况,统计7天内连续签到的用户总数;统计每天的新增与第二天的留存用户数;统计网站的对访客(UniqueVisitor,UV)量最新评论列表根据播放量音乐榜单

通常情况下,我们面临的用户数量以及访问量都是巨大的,比如百万、千万级别的用户数量,或者千万级别、甚至亿级别的访问信息。

所以,我们必须要选择能够非常高效地统计大量数据(例如亿级)的集合类型。

如何选择合适的数据集合,我们首先要了解常用的统计模式,并运用合理的数据来解决实际问题。

四种统计类型:

二值状态统计;聚合统计;排序统计;基数统计。

本文将用到String、Set、Zset、List、hash以外的拓展数据类型Bitmap、HyperLogLog来实现。

关于二值统计请看历史文章:

Redis实战篇:巧用Bitmap实现海量数据统计

今天我们来看下剩下的三种统计类型。

文章涉及到的指令可以通过在线Redis客户端运行调试,

分享 转发
TOP
发新话题 回复该主题