クライアントから (ポスト経由で) 送信されたデータをキューに配置し、サーバー上の php スクリプトが最初にキューが空かどうかをチェックするようにします。キューが空でない場合、スクリプトはキュー内のすべてのデータを 1 つずつ処理します。
6 に答える
これを見てください。
永続化のために memcached を使用します。
これに関する別の優れたチュートリアルを次に示します。
もう1つの解決策は、PHPに組み込まれているように見えるGearmanを使用することです(私が最後に遊んだのはそうではありませんでした):http://php.net/manual/en/book.gearman.php
リレーショナル DB (例: MySQL) は非常に柔軟で、Web 開発者によく理解されているため、多くの種類のジョブ キューに使用されています。多くの PHP アプリケーションは、オブジェクト キャッシングが構成されていない場合に、このソリューションをフォールバックとして使用します。キューを実装するには非常にコストがかかるため、これは最後の手段です。
キューとして MySQL を使用する必要がある場合は、Percona のエンジニアの 1 人が、潜在的な問題点の管理に関する このブログ エントリを書きました。
最もスケーラブルな実装が必要な場合は、ZeroMQ を強くお勧めします。ただし、これはデフォルトの、または特に一般的な PHP 拡張機能ではありません。したがって、Web サーバー スタックを制御しないプロジェクトの場合: APC オブジェクト、Memcache、または Memcached を使用してから、MySQL キャッシュ テーブルにフォールバックします。