2017-07-09 8 views
0

私は現在ウェブサイトを開発中です。私はAPIから結果をキャッシュしたいが、APIは遅いので、同じ結果に対して同時にPHPリクエストを処理する必要があります。複数のPHPリクエストが1つを待っています

PHPが特定のIDのAPI結果を収集しているときに、同じIDの次のPHPリクエストが最初に終了してキャッシュされた値を読み込むのを待ちます。

現在の解決策は、キャッシュに空の値を追加することです(値が空の場合、新しいPHPリクエストはスリープして再チェックするだけです)が、時には機能しないことがあります。

他にも良い方法がありますか?

答えて

0

PECL SyncライブラリとSyncReaderWriterクラスによって提供される同期の使用を検討するか、単純なファイルロックシステムのみを使用することを検討してください。

私は、あなたが上記のようなタスクのために特に読み込み/書き込みプロセスを同期させるPHPキャッシュライブラリを作成しました。

私はあなたが役に立つと思うかもしれません、こちらをチェックしてください:https://github.com/tztztztz/php-no-slam-cache

関連する問題