PHP Mysql:避免浏览量溢出?

时间:2015-05-23 06:31:32

标签: javascript php mysql

所以我有一些需要有网页浏览量的个人资料页面。我将视图数据存储在mysql和php(实际上是laravel)中。基本思路是每次访问配置文件时都按1添加视图。

基本思想是在个人资料页面中添加php代码,例如

$page->view += 1; $page->save();

但是如果用户多次点击f5怎么办?它会导致查询运行很多,我担心它最终会使应用程序变慢。

我正在考虑在用户点击f5和ajax调用添加视图时使用js提示。但我想知道是否有更好的解决方案(比如,youtube是如何做出他们的观点的)?

2 个答案:

答案 0 :(得分:0)

您可以在页面上的一定时间后计算视图。

要实现这一点,您需要一个延迟的javascript函数,如:

setTimeout(function(){countView()},3000);(延迟3秒)

countView()应该是对运行$page->view += 1; $page->save();的函数的ajax调用

由于Ajax调用是异步的,因此执行不会延迟您的应用程序流,尽管页面视图表上的简单增量不会对性能造成太大损害

答案 1 :(得分:0)

只要用户不删除cookie,这将有效。

if ($_COOKIE['returning']!="yes")
 {
   // first visit!
 }
setcookie("returning", "yes", time()+360000);

另一种方法是在数据库中记录IP并检查用户是否已访问过,但代码比我现在发布的更复杂。如果接受,我将在稍后编辑帖子。