2011-09-21 148 views
0

我有一个网站和我的网站的一部分需要读/写在服务器上的纯文本文件。大多数情况下,我们有50到100个并发在线用户,他们在我们网站上的行为导致读/写某些文件,其中某些文件是其他页面的临时占位符。并发读取和写入文件

所以我想知道并发的读/写冲突,以及如果发生这种情况,避免这种情况的最佳做法是什么。我的服务器如何管理这些请求?

+0

我使用Apache/PHP。 – silvercover

+0

在这种情况下使用某些数据库的最佳实践 – user973254

回答

1

比webserver更重要的是底层操作系统和文件系统。

您可以(在支持的情况下)使用flock()获得PHP中文件句柄的排他锁,导致排他锁的所有其他尝试在其后面阻止和堆栈。

1

* nix系统中的一个选项是创建临时文件,写入临时文件,fsync(),然后重命名为目标文件名。当然,这只适用于一个作家,或者如果你只想要最新的作家。