Redis Key的设计

1.用户签到记录

记录一个用户年度签到记录,Key格式:

user:checking:daily:userID:年份

一个key存储用户一年的签到记录

(1)方便使用bitcount统计年度累计签到天数。

(2)每年之后将redis中的签到数据持久化入DB

2.用户补签记录(bitmap)

因为产品设计用户只能补签当月的日期,所以这里使用月份维度的rediskey,一个用户每月补签记录,key格式:

user:checkins:retro:userID:月份

一个key存储用户当月的补签记录

(1)既能记录当月补签日期,又能方便的计算当月补签次数

(2)每个月后将Redis中的补签数据持久化入DB

3.如何计算当月连续签到天数?

当月每日签到bitmap|(逻辑或)当日补签bitmap=当月签到bitmap

逐位遍历当月签到bitmap后判断可得出当月连续签到天数

相关推荐
SelectDB2 分钟前
Apache Doris AI 能力揭秘(四):HSAP 一体化混合搜索架构全解
数据库·人工智能·agent
程序人生51825 分钟前
解决Dbeaver 连上 MySQL 数据库后不显示 information_schame、mysql 等数据库
数据库·mysql
与衫26 分钟前
SQLFlow × 高斯数据库:构建可治理、可追溯的数据底座
数据库·oracle
小小测试开发42 分钟前
SQL常用语法全解析:从入门到进阶的实战指南
数据库·sql
暗之星瞳44 分钟前
mysql练习
数据库·mysql
月上林梢1 小时前
QT圆形加载进度条
数据库·c++·qt·进度条
3824278271 小时前
汇编:条件汇编、
前端·汇编·数据库
蜘蛛小助理2 小时前
研发团队效率神器:手把手教你用蜘蛛表格构建自动化任务管理中枢
数据库·自动化·任务管理·多维表格·蜘蛛表格
计算机毕设VX:Fegn08952 小时前
计算机毕业设计|基于springboot + vue酒店管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
Hui Baby2 小时前
全局事务入口感知子事务方法-TCC
java·开发语言·数据库