背景:我正在构建一个网络应用程序,该应用程序由一个工具和一个随附的报告系统组成,用于跟踪该工具的总使用情况。我想根据每日使用量、每月使用量、每年使用量和总使用量显示用户报告,全部以分钟为单位。想想使用分钟数=“业力”点数。
我计划在 Redis 中实现这种使用跟踪。现在我可以
1) 同时增加多个计数器(每日、每月、每年)。
或者
2) 我可以保留 2 组记录:
a) Total Karma(简单的 Redis 计数器)
b) MySql 中的一行包含 Karma 和日期,并使用 SQL 查询生成年度 Karma 和每月 Karma 的报告。
示例 b) 的优点是它不会用大量非规范化数据弄乱 Redis。但是,如果在需要时将这些数据移植到 MySQL 是微不足道的,那么这可能不是一个缺点。 有什么想法吗?
最佳答案
没有理由不能将 Redis 用作主要数据存储。但是,请记住以下几点:
- 您的工作集应该适合内存。否则它会变得一团糟。
- 您需要定期备份您的 Redis 数据,并将其视为与 MySQL 备份一样重要。
如果您发现您的 Redis 数据增长大于单个实例,我建议查看 presharding .
关于mysql - 业力追踪报告 : Should use redis-only or redis-mysql hybrid?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11455729/