0

我想计算产品的共享数量以及谁共享它,

我应该使用什么类型来存储在 Redis 中?排序集?

我以前使用排序集,每个产品的共享信息存储在 ZADD('share','product id',0)

但是现在,我想存储谁共享它。

在mongodb中可以轻松完成,但是在redis中怎么做呢?

4

2 回答 2

0

如果顺序不重要,请对每个产品使用:

SADD shares:<pdoruct_id> <user_id>

如果顺序很重要,唯一性不是:

LPUSH shares:<pdoruct_id> <user_id>

如果顺序和唯一性都很重要:

ZADD shares:<pdoruct_id> <current_unix_timestamp> <user_id>

然后你就可以做

ZREVRANGE shares:<product_id> 0 100并按照用户共享项目的顺序获取用户。

于 2012-04-08T15:12:54.013 回答
0

创建另一个排序集,或者更好 - 一个哈希,其中包含产品 ID 以及共享它们的人。那是如果最多 1 个用户能够共享一个产品。

于 2012-04-08T12:55:07.767 回答