讨论数量:
1、如果数据量特别较大,就采取闲时统计或者备份数据库统计,减少数据库压力 2、如果数据量小就直接楼上的mysql 分组查询 3、折中的,不大不小的,就在访客记录字段里面加上 year、month、day、hour,虽然多几个字段但是都是数据,还好啦,算是在2的基础上提高查询效率
如果要求不是很严格,可以用redis HyperLogLog实现,第二天再落库就行了
例子:
//连接Redis数据库
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
//获取当前小时数
$hour = date('G');
//将访客IP地址导入HyperLogLog中
$redis->pfAdd('visitor:'.$hour, $_SERVER['REMOTE_ADDR']);
//获取当前小时的访客数
$count = $redis->pfCount('visitor:'.$hour);
echo '当前小时的访客数为:' . $count;
推荐文章: