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

相关推荐
Hugh-Yu-13012314 分钟前
zhangxuefeng-skill配置教程
数据库
布莱克60516 分钟前
理解B+树:原理、特性与应用场景
数据结构·数据库·mysql
冰暮流星18 分钟前
mysql之排序查询
数据库·mysql
71777721 分钟前
让权限治理成为可复制资产:Gitee Team 空间配置方案与安全级别落地详解
数据库·gitee
今天AI了吗37 分钟前
Agent & AI 名词大扫盲
数据库·人工智能·python·sql·rust
老鼠拧刀满街找猫43 分钟前
Windows Docker部署Redis一主两从+哨兵完整实战(含静态IP方案)
windows·redis·docker
零域码客1 小时前
Redis 双刃剑:缓存与分布式锁的本质区别
redis·分布式·缓存·并发控制·后端架构
Escalating_xu1 小时前
【Linux】线程概念与控制:从地址空间、LWP 到 pthread_create、join、detach 与 NPTL
java·linux·redis
2603_966437261 小时前
格式化之后数据还能恢复吗?说清恢复条件
linux·运维·数据库
倔强的石头1062 小时前
时序数据库的难题不只在写入速度
数据库·时序数据库