正确存储以构建“上次见过的产品”

时间:2017-09-21 00:34:37

标签: database-design cassandra redis

想知道什么是最好的存储来构建像“许多电子商务网站”(例如亚马逊)的“上次见过的产品”功能。

以下是一些要求: 活跃用户:200M 上次见到的产品类别(即:鞋类,电子等)。大约有500个类别 每个类别存储10个产品(但不会访问所有类别) 必须保留最后看到的产品,以便每当用户重新登录时,都可以获取和构建列表。 检索列表的时间应小于100毫秒。

我正在考虑以太人Redis或Cassandra。看起来两者都提供了这种功能的良好功能(某种时间轴),但我不确定每种功能的优缺点。想法?

由于

1 个答案:

答案 0 :(得分:1)

如果您的数据模型构建如下(根据我上面的理解),Cassandra应该可以很好地为您服务

  • 列族:User_Lat_Seen
  • 分区键:用户+类别
  • 附加栏目:Last_Seen_Items类型列表

然后,您可以轻松查询用户浏览的最后一个项目,任何类别,并在项目更改时更新列表(可能在用户会话结束时)