Redis签到功能设计与实现

╰+哭是因爲堅強的太久メ 2022-11-03 00:42 234阅读 0赞

前言

在很多社交类APP中,签到功能似乎成了标配,签到功能一方面可以促进APP中用户的活跃度,而且可以绑定一些促销活动刺激用户消费等关联功能
在这里插入图片描述

设计实现与分析

但从此功能的实现上来说,似乎并不是太难,我们完全可以通过创建一个如下简单的表实现
在这里插入图片描述

和上一篇一样的思路,设想你的APP的用户量是像QQ或微信那种量级的,每天签到的人数加起来该有多少?你的这张表够不够承载一年365天这么庞大用户体量的数据

就算可以借助mysql的索引功能加速查询,但是总有一天,该表所在的服务器会有撑不住的一天,而使用那些分库分表之类的方案来解决这个签到这样的非核心业务功能似乎又显得奇葩

有没有一种更好的方案来解决这个问题呢?答案是肯定的,就是使用redis提供的bitmaps的数据结构来处理

bitmaps简介

  • Redis的Bitmaps这个“数据结构”可以实现对位的操作。Bitmaps本身不是一种数据结构,实际上就是字符串,但是它可以对字符串的位进行操作
  • 可把Bitmaps想象成一个以位为单

发表评论

表情:
评论列表 (有 0 条评论,234人围观)

还没有评论,来说两句吧...

相关阅读

    相关 使用redis bitmap实现签到功能

    1.签到功能的实现思路 最近有研究到用户的签到功能,对功能进行设计的时候想到使用msyql存储用户的签到记录,将用户的每日签到记录存储到表中,然后又想到每次签到就往表里面

    相关 利用redis实现每日签到功能

    今天给大家介绍一个简单的应用场景,我们迷你喵小程序最近新增了一个签到功能,但是每天只能签到一次,我们如何实现每日只签到一次呢? 想学习分布式、微服务、JVM、多线程、架构、j