如何在Ruby on Rails中实现数据库存储项目点赞功能?
- 内容介绍
- 文章标签
- 相关推荐
本文共计557个文字,预计阅读时间需要3分钟。
在Heroku上使用Postgres运行Rails应用,我想在我网站上实现类似Facebook点赞的各种项目,如用户评论。将这些数据存储在我的数据库中,最有效和快速的方法是什么?
我正通过Heroku在Postgres上运行Rails应用程序.我想在我的网站上实现类似Facebook“喜欢”的各种项目,例如用户评论.将这些存储在我的数据库中的最有效和快速的最聪明的方法是什么?
显而易见的是在用户和项目之间有一个类似的连接表,如下所示:
user_id int item_id int item_type string created_at datettime
但是,当显示时,这意味着每次我拉一个项目时,我都必须在整个相似的表中拉一个连接,这可能会变得非常大.
对此的明显反应是在项目中存储计数器,用于持续计数.但是,这不起作用,因为谁喜欢一个项目很重要,既可以显示在项目旁边,也可以隐藏用户已经喜欢的东西的类似按钮.
我的计划是在所有可爱的项目中添加一个文本字段,我将在其中存储一个序列化数组.这样,项目的每一次拉动都会附带一个喜欢它的完整列表.有没有更好的方法来做到这一点,还是这是推荐的方法?
当你进行非规范化时,你会放弃使用RDBMS的许多好处.如果我知道必须,我只会这样做.如果是这种情况,我会考虑使用其他东西,比如简单的键/值数据库,用于该数据.但我认为,如果您拥有大量数据,情况可能就是这种情况.
本文共计557个文字,预计阅读时间需要3分钟。
在Heroku上使用Postgres运行Rails应用,我想在我网站上实现类似Facebook点赞的各种项目,如用户评论。将这些数据存储在我的数据库中,最有效和快速的方法是什么?
我正通过Heroku在Postgres上运行Rails应用程序.我想在我的网站上实现类似Facebook“喜欢”的各种项目,例如用户评论.将这些存储在我的数据库中的最有效和快速的最聪明的方法是什么?
显而易见的是在用户和项目之间有一个类似的连接表,如下所示:
user_id int item_id int item_type string created_at datettime
但是,当显示时,这意味着每次我拉一个项目时,我都必须在整个相似的表中拉一个连接,这可能会变得非常大.
对此的明显反应是在项目中存储计数器,用于持续计数.但是,这不起作用,因为谁喜欢一个项目很重要,既可以显示在项目旁边,也可以隐藏用户已经喜欢的东西的类似按钮.
我的计划是在所有可爱的项目中添加一个文本字段,我将在其中存储一个序列化数组.这样,项目的每一次拉动都会附带一个喜欢它的完整列表.有没有更好的方法来做到这一点,还是这是推荐的方法?
当你进行非规范化时,你会放弃使用RDBMS的许多好处.如果我知道必须,我只会这样做.如果是这种情况,我会考虑使用其他东西,比如简单的键/值数据库,用于该数据.但我认为,如果您拥有大量数据,情况可能就是这种情况.

