0

私のphpスクリプトが呼び出されるたびに、次のことを行ってno. スクリプトが呼び出される回数:
1. プレーン テキスト ファイルを開く
2. そこから整数を読み取る
3. その値をインクリメントする
4. 値を書き戻してファイルを閉じる。

そのスクリプトに対して 1000 の同時リクエストがある場合、このアプローチには同時実行の問題があるはずです。一部の読み取り/書き込みは失敗するはずです。しかし、問題を再現することはできません (多くのリクエストで問題なく動作しているようです)。

同時実行メカニズムを使用する必要がありますか?

4

1 に答える 1

0

データベーステーブルを使用できます。スクリプトが呼び出されるたびに、値を挿入します。PHP で mysql_num_rows() を使用してスクリプトが呼び出された回数を取得するか、テキスト ファイルを 1 日に 1 回更新する cronjob を作成できます。

テーブルを使用すると、すべてのスクリプト呼び出しが保存されることが保証されます。同じテキスト ファイルが同時に取得されて更新された場合、これは発生しません (1 つのヒットを失うことになります)。

于 2012-07-12T16:52:40.603 に答える