apc_store()
いくつかの結果をキャッシュするために使用したい。
しかし、データがどこに保存されるのか、そしてその制限は何かを知る必要があります。
常にメモリに保存されますか?またはディスクにも書き込みますか?あまり頻繁にアクセスされないデータはディスクに保存することをお勧めします。そのために別のキャッシュシステムを使用する必要がありますか?
これが限界ですか?apc.shm_size = 32MB
. もしそうなら、それを超えるとどうなりますか?
経由でAPC変数キャッシュに保存されたデータapc_store()
は、常にメモリに保存されます。これが理にかなっているよりも多くのデータを保存する必要がある場合は、他のキャッシュソリューションを自分で考え出す必要があります。
apc.shm_size
構成ディレクティブは、オペコードとユーザー変数の両方に使用されるAPC共有メモリキャッシュ全体のサイズを設定します。ここで指定されているよりも多くのデータをキャッシュに書き込むと、要素は、最も使用頻度の低いものから順にキャッシュから削除されます。あなたのコードはこれを処理できる必要があります-結局のところ、それはデータベースではなくキャッシュです。
APCはそれをメモリに保存します。
apc.shm_sizeを使用して使用するサイズを設定できます
これは、APCがどのように機能するかを説明するリンクです。 http://lampzone.wordpress.com/2010/03/26/how-does-apc-work/
そして、すべてのAPC設定のリスト http://php.net/manual/en/apc.configuration.php
APC は常にデータをメモリに格納します。それは、そのために設計されたものであり、それ以外には何もありません。APC でデータをディスクに書き込むことはできませんが、もちろん、キャッシュのニーズに合わせていくつかの異なるストレージ アダプターを実装できます。ディスクに保存したいものがある場合は、ファイル アダプタを実装します。異なるサイズ設定は、実際に APC に割り当てるメモリの量であり、それを超えると、APC は LIFO のダンプを開始します。これはパフォーマンスにのみ影響し、他には何も影響しません。アプリは、キャッシュの有無にかかわらず機能できる必要があります。そうでない場合は、永続化のためにキャッシュするという考えを悪用しています。