Laravelのページキャッシュライブラリ

プレーンなHTMLをキャッシュするflattenの使用方法

インストール

Laravel4.2でページキャッシュライブラリのflattenを利用しました。

Flatten

composerでインストールすることが可能です。composer.jsonにflattenを追記します。

"require": {
  "laravel/framework": "4.2.*",
  "anahkiasen/flatten": "*"
},

追加したらアップデートします。

composer update

app.phpの設定

app/config/app.php でflattenを使用可能な状態に設定します。

providers配列に

‘Flatten\FlattenServiceProvider’,

を追加し、

aliases配列に

‘Flatten’ => ‘Flatten\Facades\Flatten’,

を追加します。

コンフィグレーションファイルの設定

flattenの設定ファイルを/app配下にコピーします。

php artisan config:publish anahkiasen/flatten

上のコマンドを実行すると、

app\config\packages\anahkiasen\flatten

配下に

config.php

が生成されます。このファイルを編集することでflattenの設定を調整することが可能です。lifetimeの設定を1(1分)に設定してみました。

return array(
  'enabled' => true,
  'ignore'       => array(),
  'only'         => array(),
  'blockers'     => array(),
  'lifetime'     => 1,
  'saltshaker'   => array(),
);

キャッシュファイルの確認

キャッシュファイルは以下のパスに格納されます。

app\storage\cache

今回試したところ

app\storage\cache\40\05\40059f3f58b569054c944536a4846474

上のキャッシュファイルが作成されました。

キャッシュのクリア

flushAll()ですべてのキャッシュファイルを削除することが可能です。

public function flush()
{
  Flatten::flushAll();
}

URLベースで個別に削除することが出来ます。下の例はルートURLのキャッシュのみを削除するコードです。

Flatten::flushUrl('http://laravel.local/');

その他、githubのページでは

  • 部分キャッシュ機能
  • 自動クロール機能
  • 独立したPHPシステムでのネイティブな利用方法

について解説されています。

Webエンジニアブログにコメント

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Laravelのページキャッシュライブラリの記事にコメントを投稿