概述与方案对比
在应用开发中,限制用户每日领取奖励或执行特定操作的次数(如“每日领 3 次积分”)是常见需求。以下为在 Zion 中的两种实现方式。
方案对比
| 维度 | 方式一:联合唯一约束 | 方式二:状态记录 |
|---|---|---|
| 设计方案 | 增量流水:每次领取都是新的一行 | 存量更新:每个用户固定一行记录 |
| 并发防御 | 依靠数据库索引 (Unique Index) | 依靠节点过滤器 (Update Filter) |
| 数据量级 | 随时间线性增长 | 随用户量增长 |
| 审计追溯 | 天然支持(记录即流水) | 需额外配置(需通过触发器记录日志) |
| 适用场景 | 涉及高额奖励、需要严谨审计流水 | 简单签到计数、轻量级任务限制 |
方案详情
你可以点击下方卡片,查看每种方案的具体实现步骤和逻辑配置:
如何选择
- 优先选择「联合唯一约束」:如果你的应用涉及真实资产(如积分、优惠券、实物奖励),且需要严谨的审计流水和绝对的数据库级并发保障。
- 优先选择「状态记录」:如果你的业务逻辑非常轻量(如每日任务点击统计),或者对数据库存储空间比较敏感。
Last updated on