PHPでデータをファイルキャッシュさせる(Cache_Lite)
2024/02/25
最近携わった案件でPHPでファイルキャッシュをしているシステムがあった。今までファイルキャッシュは試したことがないので、やってみたくて調べたところPearでCache_Liteというパッケージがあり、これが簡単に使えた。
リファレンス
http://pear.php.net/manual/ja/package.caching.cache-lite.php
インストール
pear install Cache_Lite
ソースコード
<?php
require_once('Cache/Lite.php');
$id = 'test'; //キャッシュのID
$params = array(
'cacheDir' => '/var/www/html/cache/', //キャッシュファイルを置くディレクトリ
'caching' => 'true', // キャッシュを有効
'automaticSerialization' => 'true', // 配列を保存可能
'lifeTime' => 180, // キャッシュ保存時間を秒数で指定
'automaticCleaningFactor' => 20, // 自動で古いファイルを1/20で削除
);
$cache = new Cache_Lite($params);
if( $data = $cache->get($id) ){
//キャッシュデータがある場合の処理
}else{
//キャッシュデータがない場合の処理
$cache->save($data); //$dataにキャッシュさせたいデータを入れてキャッシュファイルを生成しておく
}
var_dump($data);
その他
キャッシュファイル作成時のみ少し実行に時間がかかるが、それ以降はデータベースからデータを取得するより速くなった。インストールから実装までかなり簡単に使えるようなので、今後は積極的に使っていく。
関連記事
-
-
DTIのVPS(PHP5系環境)にCakePHPを導入する方法
他社さんと連携して仕事をする際に「フレームワーク何か使いますか?」と聞かれて「使 ...
-
-
PHPで特定のサイトからのリクエストのみ受け付けて処理する方法
指定したサイトからのリクエストのみ受け付けて処理したいという状況があった。その他 ...
-
-
フォームからアップロードした画像にPHPで任意のテキストを追加する方法
以前フォームから送られてきた画像に対してサイトロゴみたいなロゴ画像を追加する記事 ...
-
-
日付の比較で○日前というのを調べる
PHP及びjavascriptで日付の比較をしたく、締切日とかではなく ○日前と ...
-
-
HTMLにてaタグクリック時にping属性のデータをPHPで受け取る方法
HTMLのaタグにping属性というものを設定できるらしく、設定したリンクをクリ ...