手軽にPHPでキャッシュを使う方法

ウェブ

PHPはPEARのキャッシュライブラリを使用して簡単にキャッシュ機能を利用する事ができます。

この記載ではPEARのキャッシュライブラリ(Cache_Lite)をのインストールと使用方法について説明します。

インストール方法

次のコマンド一行の実行で Cache_Lite をインストールする事ができます。

# pear install Cache_Lite

composerコマンドでインストールする場合は次のコマンドを実行してインストールします。

# composer require pear/cache_lite 

使用方法

読み込み・インスタンスの作成

キャッシュライブラリを読み込みインスタンスを作成します。

インスタンス生成の際にキャッシュの設定を行います。

<?php
require_once 'Cache/Lite.php';

$Cache_Lite = new Cache_Lite([
  'cacheDir' => '/tmp/', // キャッシュファイルの保存ディレクトリ
  'lifeTime' => 1800, // キャッシュ有効時間(60*30=30分)
]);

データの保存

データは次のようにキー名(例:key_name)を指定してキャッシュに保存する事ができます。

$data = ['a' => 123, 'b' => 456];
$Cache_Lite->save($data, 'key_name');

データの取得

キャッシュに保存したデータは次のように取得する事ができます。

$data = $Cache_Lite->get('key_name');

キャッシュの強制削除

キャッシュに保存されたデータを強制削除する場合は次の通りになります。

$Cache_Lite->remove('key_name');

使用例

実際にキャッシュの機能を使用する例として変数での使用例とHTMLソースコードでの使用例を記載します。

変数での使用例

<?php
require_once 'Cache/Lite.php';

$Cache_Lite = new Cache_Lite([
  'cacheDir' => '/tmp/', // キャッシュファイルの保存ディレクトリ
  'lifeTime' => 1800, // キャッシュ有効時間(60*30=30分)
]);

if ($data = $Cache_Lite->get('key_name')) { // キャッシュデータが存在する場合
  $data['status'] = 'Is cached data.';

} else { // キャッシュデータが存在しない場合
  $data = ['text' => 'Hello World'];
  $Cache_Lite->save($data, 'key_name');
  $data['status'] = 'Not cached data.';
}

var_dump($data);

HTMLでの使用例

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>キャッシュテスト</title>
</head>
<body>
<h3>キャッシュテスト</h3>
<?php
require_once 'Cache/Lite.php';

$Cache_Lite = new Cache_Lite([
  'cacheDir' => '/tmp/', // キャッシュファイルの保存ディレクトリ
  'lifeTime' => 1800, // キャッシュ有効時間(60*30=30分)
]);

if ($data = $Cache_Lite->get('key_name')) { // キャッシュデータが存在する場合
  echo $data;

} else { // キャッシュデータが存在しない場合
  ob_start();

?>
<p>これは、<?php echo date('Y年m月d日H時i分s秒') ?>にキャッシュされたテキストです。</p>
<?php

  $data = ob_get_contents();
  ob_end_clean();
  $Cache_Lite->save($data, 'key_name');
  echo $data;
}
?>
</body>
</html>

コメント

タイトルとURLをコピーしました