CakePHPでredisをキャッシュサーバとして使う

CakePHP2

■CakePHPのキャッシュ機構を使ってみる

CakePHPにはデフォルトでキャッシュ機構がついています。どこか別のところに、一時的に情報を保存する場合などに非常に便利です。ランキングデータ等、DBに保存するまでもない様な情報を保持しておくときには最適です。以下のように使えます。

▼キャッシュ書き込み

どのキャッシュ保存先を選んでも、以下のように統一して記述することができます。

$cacheDataList = array('hogehoge', 'mokomoko');
Cache::write('cacheKey', $cacheDataList);

 

有効期限を設定するには以下のように記述します。

$cacheDataList = array('hogehoge', 'mokomoko');
Cache::write('cacheKey', $cacheDataList, 600); //これは600秒 = 10分有効

▼キャッシュ読み込み

キャッシュ上に存在する情報を読み込む時は以下の様に記述します。

$cacheData = Cache::read('cacheKey');
var_dump($cacheData);

 

■redisをキャッシュサーバとして使う

上記のキャッシュの保存先をredisに設定します。CakePHPのcore.phpに以下の行を記述します。

Cache::config('default', array(
    'engine' => 'Redis',
));

 

別のサーバ上でRedisを動かしている場合などは、以下のようにIP または サーバ名で指定します。

Cache::config('default', array(
    'engine' => 'Redis',
    'server' => '127.0.0.1',
    'port' => 6379,
));

 

キャッシュの保存先としてredisの他にmemcacheやAPC、さらにファイル上にも保存することができるようです。

高速化に便利だと思うので、参考にしてみてください。では。