我有一些在客户端上运行的代码,每隔30秒左右检查一次新注释,如果发现新注释,就会提醒用户。
该检查对页面上的注释进行计数,并返回计数。检查注释的代码是:
check_for_new_comments() {
$sitewide = get_option( \'sitewide_mode\', 0 );
$postID = $_POST[\'postID\'];
$postID = ( $sitewide ) ? \'\' : $postID ;
$comments_number = get_comments( array( \'post_id\' => $postID, \'status\' => \'approve\', \'type\' => \'comment\', \'count\' => true ) );
$response = array( \'count\' => $comments_number );wp_send_json( $response );
}
在客户机上,如果计数器大于上次检查的值,那么我调用一个函数,使用jscript中的以下命令获取缺少的注释。
function( commentCheck ) {
if ( commentOld === null ) {
commentOld = commentResponse;
}
if ( commentOld.count < commentResponse.count ) {
commentGrab();
commentOld = commentResponse;
}
}
我知道这个数字可以缓存,但在有大量评论的动态网站上(在繁忙的关系中,我可以在每篇文章中获得1000条评论,每分钟大约有100名访问者,这给我的服务器CPU带来了很大的压力)。我认为计算评论可能没有效率,我想知道比较最近评论的tiestamp是否更有效。
“计算评论数量,然后比较数量”是否比“比较最近评论的日期”更快?你能告诉我什么是更有效的方法吗?如果要比较日期,我该如何编码?
非常感谢