2
我想要更新文件,而其他進程可能正在使用它閱讀。 PHP flock()
函數允許完全做到這一點。有效的文件更新與羊羣和移動
然而,正如我看到羊羣只需要一個文件句柄..通常來自fopen。如果我想有效地做到這一點,我不想保持文件打開並寫入文件,因爲文件通過網絡傳輸,寫操作可能會跨越幾秒鐘(例如2-3秒)。
所以我希望能夠將數據寫入臨時文件然後移動它。在這種情況下,只有在重命名文件時,文件的讀者纔會感到不安。
現在將數據寫入temp不需要我使用羣集。然而,我怎樣才能使用鎖定將tempfile移動到實際文件中。
我也想知道我是否真的需要鎖定在第一位..移動操作不會很快嗎?會傷害同時讀取文件嗎?我預計將有100個讀取,但只有一個更新,並且該更新每小時發生一次