PHP でキャッシュファイルを作れる PEAR::Cache_Lite を使いました。私の場合は WordPress のかなりカスタマイズされたサイドバーのキャッシュを取るために組み込みました。キャッシュについては以下が分かりやすい説明です。
毎回同じ結果を返す場合は10回のアクセスがあると、はじめのアクセスで キャッシュを作成し、残りの9回のアクセスでは、キャッシュが使用されること になり、結果を作成するための処理を省略することができます。
32. PEAR::Cache_Liteで簡単キャッシュ – PHP TIPS:ITproより引用させて頂きました。
インストールなどはいつも通りの PEAR のやり方と一緒です。
そしてコードは以下のような感じになっています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | require_once 'cache/Lite.php'; $options = array( 'cacheDir' => '/path/to/includes/cache/', // キャッシュファイルを格納するサーバーの絶対パス 'lifeTime' => 60 // キャッシュの有効期間を秒数で指定する ); $cache = new Cache_Lite($options); if ($cacheData = $cache->get('キャッシュの名前')) { echo $cacheData; } else { $data = 'キャッシュするデータ作成'; echo $data; $cache->save($data); } |
これだけでキャッシュが取れてしまいます。キャッシュを使うとページの Web サイトのパフォーマンスを大幅に向上できます。WordPress にはキャッシュプラグインがいくつかありますが、それにプラスで PEAR::Cache_Lite を使えばさらにパフォーマンスを向上されることができます。
WordPress のキャッシュプラグインと今回の PEAR::Cache_Lite を使うとなぜパフォーマンスが向上するのか、WordPress のキャッシュプラグインだけで充分なのではないかと思われた方は、私の以前書いたキャッシュの考察を読むと良いかもしれません。(CakePHP のキャッシュについてですが少しは参考になるかと思われます。)
今回参考にさせて頂いた記事は以下です。
- PEAR:Cache_Lite – Y-110′s Wiki
- PEARマニュアル:constructor Cache_Lite::Cache_Lite() – コンストラクタ – constructor Cache_Lite::Cache_Lite
追記: このコードの具体的な使い方
このコードは簡易的なものです。以下のように使います。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | require_once 'cache/Lite.php'; function get_sidebar_data() { $options = array( 'cacheDir' => '/path/to/includes/cache/', 'lifeTime' => 60 ); $cache = new Cache_Lite($options); if ($cacheData = $cache->get('キャッシュの名前')) { return $cacheData; } else { $data = 'キャッシュするデータ作成'; $cache->save($data); return $data; } } |
これを function.php に書いて、WordPress の sidebar.php には以下のように書けば良いです。
1 2 3 | <div id="sidebar"> <?php echo get_sidebar_data(); ?> </div> |
PHP の記述的には get_sidebar_data() の返り値を echo しています。キャッシュを取っているのかとかそういう煩わしいことは get_sidebar_data() 関数に任せるようにします。
コメント