【发布时间】:2014-03-30 19:44:48
【问题描述】:
请提前接受我的道歉,因为这可能是一个愚蠢的问题。但是……
我正在做一些实时推荐系统的工作。有诸如概率、奖励及其时间历史(通过某些时间戳或类似的东西)之类的数据要存储。我需要首先将它们存储在内存中,并在一段时间后(每隔一小时定期)存储到数据库中(如果发生一些服务器错误,以便轻松恢复),所以我试图找到一些可以使用的技术,我找到了 Redis 和 Cassandra。但我现在有点困惑。
我认为可能有这个解决方案:
将数据存储在 RAM 中(通过 Redis ......更准确地说是通过一些 Redis 客户端库),然后运行一些 crone,它将从内存中获取这些数据并将它们存储到某个数据库(可能是 NoSQL?哪个?).. . 因为我认为我不能直接用 Redis 做到这一点。
这种方法可以吗?或者你有其他解决方案吗?
【问题讨论】:
-
您确定要使用附加数据库吗?你检查过redis.io/topics/persistence吗?
-
我之前没有检查过您的链接...但它看起来很有趣。我的目标也是时间的可视化(概率的演变),所以我需要通过时间戳来获得一些历史记录......我不确定这是否可以通过 Redis 持久性(通过一些快照或 AOF)来实现
-
如果将时间戳转换为整数并在Sorted Set 中使用,则可以使用它们。然后您可以按日期等排序。
-
好不好看你的情况。如果 redis 足够的话,我宁愿不添加其他技术。如果它适合你,那么听起来不错。
-
同意@Agis,您应该会看到 REDIS 持久性以及用于管理数据的 MASTER -SLAVE 设计模型。
标签: nosql redis cassandra key-value