2

製品ごとの製品情報について、多数のサービス (Amazon、iTunes など) にクエリを実行するWeb ページがあります。1 ページに 25 個の製品があるため、これは非常に遅いプロセスでした。各サービスからの生の出力を次の形式のキーで保存する関数を実装apc_addしましたが、これはすべてうまく機能しますが、いずれの場合も数時間後にキャッシュを期限切れにする必要があります。これは、時折、ページの読み込みが遅いということを意味する傾向があります。apc_fetchservice|country_code|product_id

おそらくcronジョブを使用して、サーバーにキャッシュを定期的に更新するという面倒な作業をさせる方法はありますか?

それとも、まったく別のアプローチを検討する必要がありますか?

4

2 に答える 2

1

コマンドラインのphpコマンドからphpページを頻繁に呼び出すcronジョブを実行でき(おそらく、出力をスキップするように指示するパラメーターを使用して)、選択した期間ごとにキャッシュが更新されます。

コマンドラインから実行するときに強制的に更新するパラメーター(以前と同じものにすることもできます)を指定することもできます。これにより、高負荷の作業はサーバーでのみ実行されます。

この場合、キャッシュを自動的にリタイアするのではなく、cronジョブが実行されたときにのみリタイアします。

于 2012-11-21T19:06:33.757 に答える
0

これらのサービスから必要な情報を取得し、便利な形式で保存するバックグラウンド サービスを作成できます。生の応答を保存する必要はないと思います。キャッシュとは考えず、プライマリ ストレージと考えてください。

これらのサービスからの情報は、時々最新のものではないことに注意してください。要求する情報の種類によっては、問題ない場合があります。

于 2012-11-20T12:12:34.247 に答える