我想计算产品的共享数量以及谁共享它,
我应该使用什么类型来存储在 Redis 中?排序集?
我以前使用排序集,每个产品的共享信息存储在 ZADD('share','product id',0)
但是现在,我想存储谁共享它。
在mongodb中可以轻松完成,但是在redis中怎么做呢?
如果顺序不重要,请对每个产品使用:
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
并按照用户共享项目的顺序获取用户。
创建另一个排序集,或者更好 - 一个哈希,其中包含产品 ID 以及共享它们的人。那是如果最多 1 个用户能够共享一个产品。