勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

PHPでデータをファイルキャッシュさせる(Cache_Lite)

   2024/02/25  PHP

最近携わった案件で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

  関連記事

PHPでサイトマップを動的に生成する方法
PHPでサイトマップを動的に生成する方法

WordPress等のCMSは使っておらず、自動更新するサイトがあり、そのサイト ...

ソシャゲのガチャのように当選確率が異なる抽選システムをPHPで作成する方法
ソシャゲのガチャのように当選確率が異なる抽選システムをPHPで作成する方法

ソシャゲのガチャみたいな当選確率が異なる抽選システムをPHPで作成したかった。具 ...

PHPでdatetime型のデータを年月日時分秒に分割する方法
PHPでdatetime型のデータを年月日時分秒に分割する方法

datetime型を年月日時分秒でそれぞれに分割させたい時に今まではいちいちex ...

PHPで外部ファイルから配列を取得
PHPで外部ファイルから配列を取得

やりたかった事。 ①管理画面で必要項目を入力すると、aaa.phpが 生成される ...

PHPバージョンアップの際に削除された関数(MySQL関数等)を使う方法
PHPバージョンアップの際に削除された関数(MySQL関数等)を使う方法

PHP5系で制作されたシステムを8系でも動くようにリプレイスしてほしいという案件 ...