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

相关推荐
岁岁岁平安3 分钟前
本机 MongoDB 注册系统服务、启用security认证
数据库·python·mongodb
007php0078 分钟前
某游戏互联网大厂Java面试深度解析:Java基础与性能优化(一)
java·数据库·面试·职场和发展·性能优化·golang·php
数据库生产实战33 分钟前
Oracle RAC灾备环境UNDO表空间管理终极指南:解决备库修改难题与性能优化实战
数据库·oracle·性能优化
姚远Oracle ACE37 分钟前
Oracle AWR案例分析:精准定位SQL执行计划切换的时间点
数据库·sql·oracle
JanelSirry1 小时前
Redis服务器的的内存是多大
服务器·redis·github
凉栀お_1 小时前
MySQL第四次作业(索引、视图)
数据库·mysql
睡前要喝豆奶粉1 小时前
.NET Core Web API中数据库相关配置
数据库·c#·.netcore
大G的笔记本2 小时前
高频 Redis 面试题答案解析
数据库·redis·缓存
万事大吉CC2 小时前
SQL语法基础教程
数据库·oracle
betazhou3 小时前
Oracle dgbroker常规命令管理简介
数据库·oracle·adg·dbbroker