0

PHP 是否提供了一个选项来保持文件打开而不是在脚本启动时重新打开?

我的脚本每秒调用大约 500 次,可以与计数器脚本进行比较,该脚本从文件 status.json 中读取 100 行,执行一些 ++ 或 -- 或重置文件中的一些值并将结果写回同一个文件。

每秒 500 次读/写,硬盘还没有问题,也不会阻止其他并行脚本读/写同一文件。但是,一旦每秒的调用数量显着增加,这种情况就会发生。

这就是为什么我想通过在每个脚本中一次又一次地重新打开或关闭来保持该文件由任何 PHP 实例打开以进行读写,而不会锁定或延迟。

对此有何提示?这个问题用 sqlite 解决了吗?如果是,我可以切换到 sqlite。

4

1 回答 1

0

PHP 是否提供了一个选项来保持文件打开而不是在脚本启动时重新打开?

不。

这个问题用 sqlite 解决了吗?

sqlite 是同一个文件,也必须打开关闭

您可以尝试一些智能数据库,它主要在 RAM 中进行操作,但为了安全起见,它也会定期将其内容转储到磁盘。蒙哥就是一个例子

于 2013-05-01T11:38:54.573 回答