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后判断可得出当月连续签到天数

相关推荐
NineData4 小时前
NineData 迁移评估功能正式上线
数据库·dba
雨中飘荡的记忆9 小时前
大流量下库存扣减的数据库瓶颈:Redis分片缓存解决方案
java·redis·后端
NineData10 小时前
数据库迁移总踩坑?用 NineData 迁移评估,提前识别所有兼容性风险
数据库·程序员·云计算
赵渝强老师12 小时前
【赵渝强老师】PostgreSQL中表的碎片
数据库·postgresql
全栈老石16 小时前
拆解低代码引擎核心:元数据驱动的"万能表"架构
数据库·低代码
曲幽17 小时前
FastAPI分布式系统实战:拆解分布式系统中常见问题及解决方案
redis·python·fastapi·web·httpx·lock·asyncio
倔强的石头_1 天前
kingbase备份与恢复实战(二)—— sys_dump库级逻辑备份与恢复(Windows详细步骤)
数据库
jiayou643 天前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
李广坤4 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
爱可生开源社区5 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba