当前位置:Gxlcms > PHP教程 > 文章流量统计,是否必须每次浏览都读写一次数据库?

文章流量统计,是否必须每次浏览都读写一次数据库?

时间:2021-07-01 10:21:17 帮助过:5人阅读

比如一个新闻系统

文章表是news, 开个count栏记录流量?

想在文章中显示被浏览的次数

是否只在php中做成...每次访问

都在news中读出count栏的数值,然后+1

再写入?


这样会否对流量大点的时候做成负载太重?

是否也只能这样做?

我有使用到smarty模板引擎
除了做局部不cahac还有什么需要注意吗?



比如写成...:
$hits_now = $row["hits"]+1;
$pdo->exec("UPDATE `news` SET `hits`='$hits_now' WHERE `id` = '$id'");
这么简直的SQL就直接EXEC了吧?


回复讨论(解决方案)

1、只用数据库的话是需要每次做更新的(点击字段所在的表如果索引正常的话,每天浏览量在50万PV以下没压力的
2、语句注意过滤注入

可以将访问次数放在缓存中,例如 memcache 或者 redis 中之类。 统计开始的时候读取一次流量, 保存在缓存中,每次用户访问都将变量加一,到统计时间点的时候 再将其保存回数据库即可。。。 这样每次统计只需在最开始 和 最后两次读写数据库了。 一次读 一次写。。

人气教程排行