- 在日历控件上展示用户每月签到情况,可以切换年月显示
最简单的设计思路就是利用MySQL保存签到数据(t_user_sign),如下:
| 字段名 | 描述 |
| — | — |
| id | 数据表主键(AUTO_INCREMENT) |
| fk_diner_id | 用户 ID |
| sign_date | 签到日期(如 2010-11-11) |
| amount | 连续签到天数(如 2) |
大概一条数据 50B,可计算得到一千万用户连续签到五年,则为 800G 左右。
-
用户签到:往此表插入一条数据,并更新连续签到天数
-
查询根据签到日期查询
-
统计根据 amount 统计
如果这样存数据,对于用户量大的应用,db可能扛不住,比如 1000W 用户,一天一条,那么一个月就是 3 亿数据,非常庞大。
==========================================================&