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);
その他
キャッシュファイル作成時のみ少し実行に時間がかかるが、それ以降はデータベースからデータを取得するより速くなった。インストールから実装までかなり簡単に使えるようなので、今後は積極的に使っていく。
関連記事
-
-
PHPでユーザID毎にディレクトリを作成しキャッシュファイルを格納する方法
PHPで作ったプログラム内にてユーザーID毎に特定のディレクトリを作成し、その中 ...
-
-
PHPで日時比較時の注意
PHPで日時を比較する際にミスがあったのでメモ。 基本形は下記。 $limit_ ...
-
-
PHPでCSVを簡単に取り扱える「LeagueCSV(thephpleague / csv)」の利用方法
PHPでCSVファイルの書き込みや読み込みを行う際、バニラPHPで対応していたが ...
-
-
PHPで一括出力ではなく、ひとつずつ順次に出力する方法
PHPで重たい処理とかをしている際に、途中報告みたいな形で順次出力させる方法のメ ...
-
-
CodeIgniter4でCronを実行する方法
CodeIgniter4.4.4で特定の処理をCronで自動実行させたい。以下に ...