将数据从Redis保存到MongoDB以获取数据存储

时间:2012-03-31 21:00:48

标签: caching mongodb redis

我有一个使用频繁更新列表的应用程序。例如,每个点击按钮的人都会被添加到与该按钮相关联的唯一列表中。然后我们要按按钮,按降序和限制显示这些列表。

我们一直在使用MySQL和Memcache这样做。问题是这不行。

我打算做的是使用Redis列表。每个按钮都会在redis中保存一个唯一键,每个用户都将使用LPUSH添加到键中。如果我们想要获得最新的10,我们可以使用LRANGE 0 10

现在,最终这些按钮将“过期”,不再被主动添加或点击,但是,我们需要历史数据。这个想法一旦过期,我们将从Redis获取数据并将其填充到MongoDB。对历史数据的任何疑问都将针对MongoDB。

有人建议反对这个解决方案吗?这样做是否“有意义”?

谢谢!

1 个答案:

答案 0 :(得分:2)

这个解决方案很有意义,我在我的应用程序中做了类似的事情。

但有一点需要注意:

  

例如,每个点击按钮的人都会被添加到与该按钮相关联的唯一列表中。

您是否允许该列表中的重复用户?如果是,请使用列表。如果没有,你可能想把它与set(用于独特的检查)结合起来,但它会花费你一些RAM。