Redis-在单个呼叫中让用户喜欢多个帖子

时间:2019-03-07 10:32:22

标签: redis

这并不是什么新鲜事物,但是无法决定采取最佳方法。

有点像Facebook墙。如果已登录的用户已经喜欢该帖子,则将“赞”按钮显示为绿色,否则将其显示为灰色。

这是我现在正在考虑的两种方法

对于我要在单个视图中显示给用户的40条帖子,请获取40条帖子的Post_id,然后

1)如果我使用

之类的东西将赞存储在SET中

post#id:喜欢userid1 userid2

我可以编写Lua脚本来为上述40个post_id运行ISMEMBER并将结果提供给用户

2)如果我使用

之类的东西将喜欢的东西存储在Hash中

用户#id:顶赞post_Id1 1 post_id2 1 ....

在这里,我将喜欢的post_id作为键存储在用户哈希集中,并且值是一些虚拟值。现在,通过这种方法,我现在可以使用HMGET user#id:likes post_id1 post_id28 ...在单个命令中查看用户喜欢的帖子。

我可以知道第二种方法是否有问题?看起来很简单。同样从本文档中 https://redis.io/topics/memory-optimization 它说

  

尽可能使用哈希

     

小哈希被编码在很小的空间中,因此您应该尝试   尽可能使用哈希表示数据。对于   实例,如果您在Web应用程序中有代表用户的对象,   而不是使用其他键来输入名称,姓氏,电子邮件,密码,   在所有必填字段中使用单个哈希。

     

如果您想进一步了解这一点,请阅读下一节。

0 个答案:

没有答案