一、实现方案
DB辅以Cache
适用于计数相对比较精准的场景
查询计数时先查询Cache,Cache中没有则Count DB,缓存到Cache并返回
Cache辅以DB
适用于计数不太精确的场景
加减计数直接操作Cache,聚合计数请求后固化结果到DB,以备恢复Cache使用
DB Count
二、模糊计数
点赞数、转发数等场景
一般方案
- 本地服务缓存计数事件
- 当本地缓存到达阈值(时间、容量等)时,批量写入Cache
- 同时固化计数到DB
一致性问题
定期同步数据
三、精准计数
收藏数、发布数等场景
一般方案
- 计数服务接收计数事件
- 存入计数值到Cache(或删除等待查询时再加载)
一致性问题
- 定期同步计数
- 业务与计数的一致性