FuelPHPのキャッシュライブラリ – File編
まずは、fileストレージ
File
まず、cacheのコンフィグファイルをapp配下にコピーします。
cp fuel/core/config/cache.php fuel/app/config/cache.php
以下のように「fuel/app/config/cache.php」の内容を設定
return array( 'driver' => 'file', 'expiration' => null, 'file' => array( 'path' => '', ), );
これで、「file」ストレージをキャッシュに使用する設定ができました。
pathは設定していないと、デフォルトでは「fuel/app/cache」に
キャッシュの内容を保存したファイルが作成されます。
とりあえず、以下の内容でキャッシュを生成して試してみる
コードの内容は、
コントローラー
public function action_cache() { // String Cache::set('string', 'cache test'); $data['string'] = Cache::get('string'); // Array $a = array(1, 2, array('key' => 'value')); Cache::set('array', $a); $data['array'] = Cache::get('array'); // Object $o = new Library_Test(); Cache::set('object', $o); $data['object'] = Cache::get('object'); $this->template->title = 'Test » Cache'; $this->template->content = View::forge('test/cache', $data); }
View
<p>Cache</p> <div>String:<?php var_export($string) ?></div> <div>Array :<?php var_export($array) ?></div> <div>Class :<?php var_export($object) ?></div> </p>
こんな感じです。
すると、画面上では
こんな感じになります。
で実際にキャッシュファイルの内容を確認すると
「fuel/app/cache」に以下の3ファイルが出来ていました。
- array.cache
- object.cache
- string.cache
中身は、
{{Fuel_Cache_Properties}}{"created":1322409987,"expiration":null,"dependencies":[],"content_handler":"string"}{{/Fuel_Cache_Properties}}cache test
こんな感じ、
作成日時が「created」に入るみたい。
あとで確認するけど、「expiration」「dependencies」には、setメソッドの引数で渡される、expiration, dependenciesの情報がそれぞれ入るだろうと予想。
で、上記は文字列を保存したstring.cacheの内容だが、文字列はそのまま保存される模様。
同様に、array.cache、object.cacheの内容は、
{{Fuel_Cache_Properties}}{"created":1322409987,"expiration":null,"dependencies":[],"content_handler":"serialized"}{{/Fuel_Cache_Properties}}a:3:{i:0;i:1;i:1;i:2;i:2;a:1:{s:3:"key";s:5:"value";}}
{{Fuel_Cache_Properties}}{"created":1322409987,"expiration":null,"dependencies":[],"content_handler":"serialized"}{{/Fuel_Cache_Properties}}O:12:"Library_Test":0:{}
こんな感じ、phpのserialize関数を使用して保存されるもようでした。
関連する記事:
- FuelPHPのキャッシュライブラリ – APC編
- FuelPHPのキャッシュライブラリ – redis編
- FuelPHPのキャッシュライブラリ – memcached編
- FuelPHPのキャッシュライブラリ – config以外でストレージを設定する方法
- FuelPHPのキャッシュライブラリの各メソッドの使用方法
コメント 0