【发布时间】:2019-03-24 19:36:02
【问题描述】:
"receiver.php" 文件每秒接收 ±1000 个 Ajax 发布请求,其中 $array 数据使用以下代码写入 file.csv:
$file = new SplFileObject( __DIR__ . 'file.csv', 'a' );
$file->fputcsv( $array, "|", "'" );
$file = null;
问题:
每个请求数据是否会正确附加到 file.csv?或者如果某些请求在写入时刻同时发生,那么这些请求数据会因为“文件锁定”而丢失?
如果每秒 1000 个请求同时写入 file.csv 会发生什么 - 由 cron 服务启动的其他进程将介入并开始读取该 file.csv ?这 1000 个请求是否能够继续将数据附加到 file.csv 或者在 cron 进程将使用 file.csv 时 - 这 1000 个请求将“命中”一堵墙”,数据不会插入,会丢失吗?
总的来说 - 我只是对在这种情况下是否会丢失数据感兴趣?
【问题讨论】:
标签: php performance file csv splfileobject