13

変数をAPCに追加しようとしたときに、APCキャッシュがいっぱいになるとどうなりますか?最も使用頻度の低い変数をキャッシュから自動的に削除しますか?

4

2 に答える 2

16

APC:Runtime Configurationによると、「使用可能なメモリが不足した場合、ttlが0の場合、キャッシュは完全に消去されます。それ以外の場合、ttlが0より大きい場合、APCは期限切れのエントリを削除しようとします。 。」

したがって、ゼロ以外のTTLがある場合は、存続時間が経過したエントリが削除されます。;)それ以外の場合は、キャッシュ全体が削除されます。

これは、キャッシュのメモリが不足し、TTLが高すぎる場合に何が起こるかを実際には解決していないことに気付きました。

于 2009-06-27T23:00:11.953 に答える
5

経験上(本番環境で実行)、TTLを設定しない場合、またはTTLが非常に高く、古いものがない場合は、キャッシュ全体がフラッシュされます(空にされた場合など)。PHPが処理しなければならない次のリクエストで負荷が急上昇するため、これを避けたいと思います。必要なすべてのファイルについて、APCはそれをコンパイルしてメモリに保存する必要があるためです(これは、より少し遅いプロセスです)キャッシュがまったく有効になっていない)。また、大量のトラフィックと空のキャッシュを受信して​​いる場合は、キャッシュスラムが発生します(これの悪さについてはグーグルを参照してください)

補足として、APCのかなり大まかなガイドと、 http://www.slideshare.net/oscon2007/os-gopalに注意する点については、この古いプレゼンテーションを参照してください。何かが古くなっている可能性がありますが、理論は依然として当てはまります。 。

于 2010-05-08T18:37:46.800 に答える