文件中的网络计数器?

发布于 2024-12-10 13:57:04 字数 95 浏览 3 评论 0 原文

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

How do I store counters in php script without DB? Always was using DB but now I want simpler configuration... Using files seems to be problematic due to file locks. Let's say that there are many concurrent connections and I want to count number of script executions.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

心凉怎暖 2024-12-17 13:57:04

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

You don't want to use a database and you don't want to use a file. I don't think it's possible to achieve that without using either of those.

小矜持 2024-12-17 13:57:04

您可以使用 memcache 之类的东西来增加内存中的缓存值。这可能是解决并发问题最快的方法。

MemcacheAPC

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

You can increment a cached value in memory using something like memcache. It's probably the fastest solution to the concurrency problem.

Memcache or APC

Ofcourse you'll lose the data if memcache is cleared or restarted... file-persistence at some point is the only way.

水中月 2024-12-17 13:57:04
<?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];
?>
<?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];
?>
囚我心虐我身 2024-12-17 13:57:04

我想计算脚本执行的次数

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

您可以通过计算文件数来计算脚本执行的次数。

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

I want to count number of script executions

Setup a directory you can write to. For each request create a new file with a random name.

You count the number of script executions by counting the number of files.

If you do the random with a low collision rate, you won't loose a count, or only very, very few. If you know the characteristics of the random source and hash function for the file-name, you can even statistically say how many counts you need to add.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文