文件中的网络计数器?

时间:2011-10-14 23:19:40

标签: php hitcounter

如何在没有DB的情况下将计数器存储在php脚本中?一直在使用数据库,但现在我想要更简单的配置...由于文件锁定,使用文件似乎有问题。假设有许多并发连接,我想计算脚本执行次数。

4 个答案:

答案 0 :(得分:0)

您不想使用数据库,也不想使用文件。如果不使用其中任何一种,我认为不可能实现这一目标。

答案 1 :(得分:0)

您可以使用memcache等内容增加内存中的缓存值。它可能是并发问题的最快解决方案。

MemcacheAPC

当然,如果清除或重新启动内存缓存,你将丢失数据...文件持久性在某些时候是唯一的方法。

答案 2 :(得分:0)

<?php
$count_file = "counts.txt";
$counts = file($count_file);
$counts[0] ++;
$fp = fopen($count_file , "w");
fputs($fp , "$counts[0]");
fclose($fp);
echo $counts[0];
?>

答案 3 :(得分:0)

  

我想计算脚本执行次数

设置您可以写入的目录。对于每个请求,创建一个具有随机名称的新文件。

通过计算文件数来计算脚本执行次数。

如果你以低碰撞率进行随机游戏,你不会丢失计数,或者只是非常非常少。如果您知道文件名的随机源和哈希函数的特征,您甚至可以统计地说明需要添加多少计数。