基本的に私はデータを取り込むためのXMLファイルを持っており、5分ごとにそれを更新するcron(in PHP)があります。しかし、同時に、私はこのファイルに常にアクセスしています(そして私は数千人のユーザーについて話しています)。phpファイルから同時に読み書きする
2millionのテキスト行を.txtファイルに書き込んで同時に読むと、もちろんfile_get_contents()
が.txtファイルの現在のテキストを取得していて、それが終了するのを待たずに終了したら内容を取得します。だから、私がやったのは、一時ファイルに書き込んだ後、元の.txtファイルに名前を変更します。私のPCの名前変更プロセスは0.003秒(microtime()
を使って計算されます)を要します。
これは適切な解決策だと思われますか、またはファイルが存在しないというエラーが発生するユーザーがいますか?
を証明したいですか? – afuzzyllama
XMLにはもちろんDBからのデータが入っています:) - 5分で私はそれらを1に減らすために何千ものDB呼び出しを持っています - 基本的には5分の結果をキャッシュします – hex4
5分で数千dbコール完全に管理可能なように聞こえる。また、ラウンドトリップを防ぐためにキャッシュを追加することもできます。 – Gordon