常见场景系统设计
文章平均质量分 70
切土豆
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
电商优惠券实战设计
优惠券的配置 用户的使用叠加计算 数据库表设计 核心代码实现(写了1.5W字 写了一周)原创 2025-03-19 17:26:58 · 2376 阅读 · 0 评论 -
排行榜系统
写在前面之前聊过积分 可以把累加积分做成排行榜 提高平台用户的积极性之前的积分表字段不少 但是对应排行有用的就两个字段 一个是用户uuid 一个是用户累计积分值 可以单独摘出来 但是对于这种数据变化比较大的业务不如直接用Redis。原创 2025-03-13 17:14:15 · 529 阅读 · 0 评论 -
转盘抽奖系统设计
前端传各个奖项的概率(校验加一起100%)后端用hit_begin_value 和hit_begin_value记录 逻辑是生成一个数据看命中哪一个 返回那一块position 前端指针指到对应位置。1 抽奖并兑换奖品(先简单做成一步 但是设计到库存的话 可以两步 先抽奖拿到抽奖记录uuid 接着用户拿着抽奖记录uuid兑换奖品 这样的话需要兑换码 可以先不搞库存)2 所有用户抽奖记录分页列表(页面搞个滚动显示)库存不多可以发mq站内消息提示运营侧补充库存。每天重置次数(定时任务)库存重置(定时任务)原创 2025-03-11 10:55:32 · 424 阅读 · 0 评论 -
积分系统设计
积分过期定时任务 扫描流水表 只拿type为获取的且is_expire为过期的 将expire_time字段值-1 看是否小于3 可以发站内消息提醒快过期了 如果减为0 将is_expire改为 过期状态 标明这条获取的数据已过期。看似是积分也可以是 金币等虚拟道具 还可以只经验值 经验值的话没有消耗减少的概念 相当于 是累加获取积分值。向流水表新增对应过期的流水数据 type为过期 bizUuid为原数据uuid(知道是哪一条数据过期了)业务伴随添加积分的可以发mq 异步添加积分。原创 2025-03-11 10:28:05 · 469 阅读 · 0 评论 -
签到系统设计
利用Redis的bitmapsetbit key offset value 就是将这个key的第offset位设置为value 其中的offset是从0开始的 value只有0/1 两个值比如 ‘切土豆用户’第1 2 8天签到 可表示为没签就不用管了。原创 2025-03-13 15:37:43 · 702 阅读 · 0 评论 -
站内消息系统设计
很多时候会群发 比如库存不足 系统发消息给有商品库存权限的运营人员 发送表里面只添加一条数据 接收表里面多条数据(包含所有有商品库存权限的运营人员)保证内容只会存储一份 删消息删的是接收表的。使用消息模版发消息 一般为系统消息 触发了某个条件 比如对应用户来说 你注册了给你发用户注册成功的消息 对于运营侧来说 比如用户买东西了 检查达到库存阈值了 发消息提醒补充库存等等。可以抽取MsgSendUtil 工具类 减少代码冗余。用户之间 或者与管理员之间 没模版 写什么发什么。做好幂等消息只发一次。原创 2025-03-11 11:25:38 · 693 阅读 · 0 评论 -
在线考试系统设计
说明 此表数据可提前配置好,后面不做业务操作,只提供运维接口修改。原创 2025-03-12 15:47:39 · 1397 阅读 · 0 评论 -
调查问卷系统设计
搞个定时任务 扫表写缓存 key 问卷uuid value对应 statisticsVOList。题目的3张表就是简单的一对多对多 多的一方记录一的一方的uuid。每走一次统计 上边算一遍 不如放缓存里面 后面直接读缓存。问卷选择题的选项占比分布 问卷简答题的 高频词Top10。新增/修改/停启用调查问卷 (一下操作3个表)如果问题多 可以考虑多线程频繁执行。统计相关答题人次 提交时间区间。原创 2025-03-11 15:26:31 · 544 阅读 · 0 评论
分享