FuelPHPのキャッシュライブラリ – redis編
今回は、redisストレージ
Redis
まず、cacheのコンフィグファイルをapp配下にコピーします。
cp fuel/core/config/cache.php fuel/app/config/
以下のように「fuel/app/config/cache.php」の内容を設定します。
return array(
'driver' => 'redis',
'expiration' => null,
'cache_id' => 'fuel',
'redis' => array(
'database' => 'default'
),
);
※4行目の「cache_id」は初期のconfigに入っていませんが、redisストレージのソースの中で、key値を保存しているキーの名前に使用されています。(設定していない場合は「fuel」と言う値が使用されます)
これで「redis」ストレージをキャッシュに使用する設定ができました。
とりあえず、キャッシュを生成して試してみます。
コードの内容は、
コントローラー
public function action_redis()
{
// 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');
return Response::forge(View::forge('cache/redis', $data));
}
View
<html> <body> <p>Cache - Redis</p> <div>String:<?php var_export($string) ?></div> <div>Array :<?php var_export($array) ?></div> <div>Class :<?php var_export($object) ?></div> </p> </body> </html>
こんな感じです。
この時に使用したLibrary_Testオブジェクトのソースは、
<?php
class Library_Test {
public static function _init()
{
}
public function __toString()
{
return 'Library_Test';
}
}
こんな感じです。
(Library_Testの設置場所は「fuel/app/classes/library/test.php」です)
でアクセスしてみると、
恒例のエラーがでました。redisをインストールしてませんでした。
ということでインストール(epelリポジトリなので、もしかすると環境によってはyumのリポジトリが見つからない可能性があります。その場合は、こちらを参考にリポジトリを追加するか、自力でphpのmemcached extensionをインストールしてください)
sudo yum install redis sudo /etc/init.d/redis start
で、再度アクセス
こんな感じになります。
登録されているキャッシュのデータを確認すると
こんな感じでした。
キーの管理が少し他のストレージと違いましたがデータの保存は同じ形で登録されていました。
次回は、configの設定以外でのcacheの使用方法をやってみたいと思います。
関連する記事:
- FuelPHPのキャッシュライブラリ – APC編
- FuelPHPのキャッシュライブラリ – File編
- FuelPHPのキャッシュライブラリ – memcached編
- FuelPHPのキャッシュライブラリ – config以外でストレージを設定する方法
- FuelPHPでのキャッシュライブラリの調査

コメント 0