mysql - 业力追踪报告 : Should use redis-only or redis-mysql hybrid?

标签 mysql redis

背景:我正在构建一个网络应用程序,该应用程序由一个工具和一个随附的报告系统组成,用于跟踪该工具的总使用情况。我想根据每日使用量、每月使用量、每年使用量和总使用量显示用户报告,全部以分钟为单位。想想使用分钟数=“业力”点数。

我计划在 Redis 中实现这种使用跟踪。现在我可以

1) 同时增加多个计数器(每日、每月、每年)。

或者

2) 我可以保留 2 组记录:

  • a) Total Karma(简单的 Redis 计数器)

  • b) MySql 中的一行包含 Karma 和日期,并使用 SQL 查询生成年度 Karma 和每月 Karma 的报告。

示例 b) 的优点是它不会用大量非规范化数据弄乱 Redis。但是,如果在需要时将这些数据移植到 MySQL 是微不足道的,那么这可能不是一个缺点。 有什么想法吗?

最佳答案

没有理由不能将 Redis 用作主要数据存储。但是,请记住以下几点:

  1. 您的工作集应该适合内存。否则它会变得一团糟。
  2. 您需要定期备份您的 Redis 数据,并将其视为与 MySQL 备份一样重要。

如果您发现您的 Redis 数据增长大于单个实例,我建议查看 presharding .

关于mysql - 业力追踪报告 : Should use redis-only or redis-mysql hybrid?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11455729/

相关文章:

php - 规范化数据模型 - 在 CakePHP 中查找简单连接

MySQL 5.0.11 错误代码 #1215 : cannot add foreign key constraint

mysql - 在 MySQL 中获取不同的 ID

php - 解决Redis缓存偏移处的php反序列化错误

sockets - Lua连接redis服务器困难

mysql - 1045 无法登录MySQL服务器

php - 查找功能的最佳实践(在 MVC 模型中)

c# - Redis KeyExists 然后GetValue优化

node.js - Redis 连接池 + Node.js

Redis - 网络错误后,所有 redis 服务器都设置为从服务器,不再选择主服务器,因为 -failover-abort-no-good-slave