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

本文介绍了如何使用Redis的Bitmap实现亿级数据的高效统计,包括用户登录状态判断、用户每月签到情况统计及连续签到用户数量统计。通过Bitmap,可以大幅度节省内存,适用于大规模数据的二值状态统计。
摘要由CSDN通过智能技术生成

在移动应用的业务场景中,我们需要保存这样的信息:一个 key 关联了一个数据集合。

常见的场景如下:

  • 给一个 userId ,判断用户登陆状态;
  • 显示用户某个月的签到次数和首次签到时间;
  • 两亿用户最近 7 天的签到情况,统计 7 天内连续签到的用户总数;

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

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

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

四种统计类型:

  1. 二值状态统计;
  2. 聚合统计;
  3. 排序统计;
  4. 基数统计。

本文将由二值状态统计类型作为实战篇系列的开篇,文中将用到 String、Set、Zset、List、hash 以外的拓展数据类型 Bitmap 来实现。

文章涉及到的指令可以通过在线 Redis 客户端运行调试,地址:https://www.cnblogs.com/aishangJava/p/15180956.html,超方便的说。

寄语

多分享多付出,前期多给别人创造价值并且不计回报,从长远来看,这些付出都会成倍的回报你。

特别是刚开始跟别人合作的时候,不要去计较短期的回报,没有太大意义,更多的是锻炼自己的视野、视角以及解决问题的能力。

二值状态统计

码哥,什么是二值状态统计呀?

也就是集合中的元素的值只有 0 和 1 两种,在签到打卡和用户是否登陆的场景中,只需记录签到(1)或 未签到(0)已登录(1)未登陆(0)

假如我们在判断用户是否登陆的场景中使用 Redis 的 St

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值