我正在使用jquery,php和mysql为我的Wordpress Multisite开发一个喜欢/不同的系统。基本上,子站点具有用户可以喜欢的帖子和产品,而不像他们。我的计划是将喜欢的内容存储在一个全局表中,这样我也可以将它用于主站点以显示帖子和喜欢的数量,并为最喜欢的帖子/产品和某种类型设置单独的页面。
在我的mysql表中命名global_likes
我有这些列。
like_id | user_id | blog_id | object_id | object_type | date_added
示例数据将是:
like_id | user_id | blog_id | object_id | object_type | date_added
1 | 24 | 81 | 403 | post | 2014-01-22 05:55:23
2 | 36 | 29 | 108 | product | 2013-02-26 12:23:10
在我的jquery中,我使用它作为部分:
jQuery.ajax({
url: '/wp-content/plugins/plugname/like.php',
type: 'POST',
data: {
object_id: object_id,
user_id: user_id,
type: 'like',
blog_id: blog_id,
object_type: object_type,
count: default_count
},
dataType: 'json',
success: function(data) {
var new_count = parseInt(default_count) + 1;
jQuery('#like_click_' + object_id).attr('data-like-count', new_count);
jQuery('#like_click_' + object_id).attr('id', '#unlike_click_' + object_id);
isProcessing = false;
}
});
在我的服务器端PHP中,我使用它作为在某种验证后插入数据的部分:
$wpdb->insert(
$global_likes,
array(
'user_id' => $user_id,
'blog_id' => $blog_id,
'object_id' => $object_id,
'object_type' => $object_type,
'date_added' => $date_added
)
);
多数民众赞成。现在,问题是,由于不同用户在不同博客的不同帖子/产品上插入喜欢的内容,因此预计会有很多行。就像那样数千或数百万。
这是一种矫枉过正吗?或者可能导致重负荷,因为我目前使用512mb应用程序RAM。我非常关心性能和CPU使用率。考虑到来自不同博客的每个帖子/产品同时获得喜欢,它也显示在主站点上,其显示来自博客的所有帖子以及喜欢的数量。此外,用户也可以喜欢/不同于主站点的帖子。
示例是: 在特定博客或主站点上显示帖子或产品时,
user_id
,检查用户是否喜欢该帖子
在全球桌上。在主站点上也在用户个人资料页面中。
我是否使用正确且更好的方式来实现此OR或者有更好的方法。我只知道php,jquery和mysql。如果您正在考虑像nosql
或类似的那样,它可能对我没有帮助,因为我使用wordpress而我根本不知道如何使用它。