ウェブ

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

この記事は約4分で読めます。
スポンサーリンク

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をコピーしました