PECl APC のキャッシュ削除忘れを防ぐために
PECl APC(Alternative PHP Cache)の話を前回に引き続いて。
PECL APC(ALter) を使うと、phpの処理が12倍になったという話もあるようです。
実際、メモリ上にキャッシュを配置するわけですし、CをコンパイルされているPECLモジュールの特製からいっても、PEARの Cache_Lite より数段速くなるだろうことは想像がつきます。
しかし、デメリットとして、ゴミのようなデータがいつまでもメモリ上に残っていたりしたら、それは大変な無駄を生みだし、メモリを不用意に圧迫する可能性が予想できますね。
Web上のサンプルサースを見ていると、意外にも生存期間を指定していない形のものが多くて、なんちゃってプログラマの人が真似してサンプルを使ったら、ちょっと後々怖いことになりそうかなと思いました。(^^;
まあ、ソース公開しているような人たちは、だいたいが熟練者なので、阿吽の呼吸といいますか、基礎、あるいは前提というものが高い位置にありますので、初心者の方は気を付けてください。
と、話がそれましたが、一応、キャッシュを削除したいときに削除できるようにしておくというのは必要かなと思います。
それで、ちょっとしたアイデアですが、削除処理をキャッシュの設定処理の前にコメントアウトして書いておくというのはどうでしょう?
//if (($html = apc_fetch('html')) === TRUE) {
// apc_delete('html');
//}
if (($html = apc_fetch('template')) === false) {
$html=file_get_contents('template/index.html');
apc_store('template', $html);
}
こうしておけば、読みこんだキャッシュデータが古くなった時、一度上部の削除処理のコメントアウトを外す事で簡単に古いキャッシュをクリアできますね。
生存期間を指定して、余計な処理を増やしたくない場合によいかと。
個人的には、それでも生存期間を書いておいた方がよい気がしますけどね。
タグ
2009年10月16日|コメント (0)|トラックバック (0)
カテゴリー:php
トラックバック(0)
http://web-gijyutu.com/tools/mtos42/mt-tb.cgi/10
コメントを投稿する
(初めてのコメントの時は、コメントが表示されるためにこのブログのオーナーの承認が必要になることがあります。承認されるまでコメントは表示されませんのでしばらくお待ちください)


