背景:我正在构建一个web应用程序,该应用程序由一个工具和一个附带的报告系统组成,用于跟踪该工具的总体使用情况。我想显示基于每日使用量、每月使用量、年度使用量和总使用量的用户报告,所有这些都以分钟为单位。思考使用分钟数="因果报应"点数。
我正计划在redis中实现这种使用情况跟踪。现在我可以了
1) 同时递增多个计数器(每日、每月、每年)。
或
2) 我只能保留两组记录:
-
a) Total Karma(简单Redis计数器)
-
b) MySql中带有业力和日期的一行,并使用SQL查询生成年度业力和月度业力的报告。
示例b)的优点是它不会用大量非规范化的数据扰乱Redis。但是,如果在需要的时候将这些数据移植到MySQL是微不足道的,那么这可能不是一个缺点。有什么想法吗?
没有理由不能将redis用作主数据存储。但是,请记住以下几点:
- 你的工作集应该适合记忆。否则就会一团糟
- 您需要定期备份redis数据,并将其视为MySQL备份一样重要
如果你看到你的redis数据比一个实例增长得更大,我建议你考虑预硬化。