0

现在我有大约 1 亿篇属于许多类别的帖子,现在我正在尝试使用 redis 存储帖子的查看次数和下载次数。

但我不知道应该使用哪种数据结构来满足我的要求:

  1. 我想通过查看次数或下载次数来获取一个用户的帖子顺序

  2. 我想通过查看次数或下载次数来获取一个类别的帖子顺序

我认为一种数据结构无法满足我的要求。那么最好的价格是什么?

谢谢 :)

4

1 回答 1

2

我想通过查看次数或下载次数来获取一个用户的帖子顺序

每个用户需要两个排序集。一种用于按浏览量发帖,一种用于按下载量发帖。

我想通过查看次数或下载次数来获取一个类别的帖子顺序

一样。每个类别保留两个排序集。一种用于查看,一种用于下载。

也就是说,你为什么需要使用 Redis 呢?将所有这些信息存储在 Redis 的内存中是绝对必要的(阅读:您是否需要如此高的速度/吞吐量)?考虑将其存储在像 Mongo 这样的内存 + 磁盘数据存储中,并仅使用 Redis 来缓存顶级结果。同样,这完全取决于您的需求,但我猜您实际上并不需要在 Redis 中保留很少访问的用户或类别的底部。内存很贵。

于 2013-11-01T00:03:11.410 回答