我有模型用户和项目。在redis中,每个用户存储5个最常访问项目列表的最佳方法是什么?
答案 0 :(得分:1)
拥有一个包含所有用户ID
的集合sadd users user1 users2 ...
对于每个用户都有一个包含项目的排序集及其计数:
ZINCRBY ACTION_COUNT_user1 1 item1
如果您想根据上次访问时间进行检索,请执行以下操作:
zadd ACTION_COUNT_user1 1467816772 item1 (here 1467816772 is timestamp)
现在,如果你想要检索前5:
ZRANGEBYSCORE ACTION_COUNT_user1 0 4
希望这有帮助