Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在Rails 3.1中设计事件系统_Ruby On Rails_Ruby On Rails 3_Database Design_Architecture - Fatal编程技术网

Ruby on rails 如何在Rails 3.1中设计事件系统

Ruby on rails 如何在Rails 3.1中设计事件系统,ruby-on-rails,ruby-on-rails-3,database-design,architecture,Ruby On Rails,Ruby On Rails 3,Database Design,Architecture,我正在轨道内部建造类似于facebook的墙。它看起来像这样: 斯泰西S.想成为朋友 你被邀请参加夏季社交活动 帕特回复了你的留言:嘿!!! 美国宠物协会有一个新帖子:爱你的猫! 有两种方法可以做到这一点。我可以让这些不同的事件在创建时写入事件数据库,也可以从关系、邀请、收件箱和帖子表中提取并动态创建事件 我倾向于使用事件数据库方法,因为只调用一个表比调用所有其他表,然后对它们进行正确排序似乎更简洁。这就是你要做的吗?无论如何,这将使你避免许多复杂的查询和排序。选择事件表方法。无论如何,它将使您

我正在轨道内部建造类似于facebook的墙。它看起来像这样:

斯泰西S.想成为朋友 你被邀请参加夏季社交活动 帕特回复了你的留言:嘿!!! 美国宠物协会有一个新帖子:爱你的猫! 有两种方法可以做到这一点。我可以让这些不同的事件在创建时写入事件数据库,也可以从关系、邀请、收件箱和帖子表中提取并动态创建事件


我倾向于使用事件数据库方法,因为只调用一个表比调用所有其他表,然后对它们进行正确排序似乎更简洁。这就是你要做的吗?

无论如何,这将使你避免许多复杂的查询和排序。选择事件表方法。

无论如何,它将使您避免大量复杂的查询和排序。选择事件表方法。

我现在正在构建一个具有类似需求的系统,我想您会发现后一种方法的性能特征使其极不可靠。根据您打算从系统中获得的使用量,您可能会发现事件表在请求过程中也是一个性能猪。我所做的是使用一个基本上是CQS的体系结构,它在后台为给定的用户构建提要,并以完全非规范化的方式缓存它们,以使请求周期非常短


另一种方法是使用时间顺序:。这可能会为您节省不少精力。

我现在正在构建一个具有类似需求的系统,我想您会发现后一种方法的性能特点使其极不可靠。根据您打算从系统中获得的使用量,您可能会发现事件表在请求过程中也是一个性能猪。我所做的是使用一个基本上是CQS的体系结构,它在后台为给定的用户构建提要,并以完全非规范化的方式缓存它们,以使请求周期非常短


另一种方法是使用时间顺序:。这可能会为您节省不少精力。

您可能想看看Observer您可能想看看Observer我正在构建我的第一个rails应用程序。它是社交网络和教会CMS之间的交叉。它主要是一个演示应用程序,仅供我学习Rails使用。实际上,我正在构建我的第一个Rails应用程序。它是社交网络和教会CMS之间的交叉。它主要是一个演示应用程序,仅供我学习Rails使用。