FuelPHP CacheドライバにRedisを使用する

FuelPHPのキャッシュ
Cache クラス

Redisドライバを使用して、Cache クラスを利用してみます。


設定



fuel/app/config/development/に「cache.php」を新規作成します。
内容は以下のとおり。

・fuel/app/config/development/cache.php


  1. <?php
  2. return array(
  3.     // default storage driver
  4.     'driver'     => 'redis',
  5.     // default expiration (null = no expiration)
  6.     'expiration' => null,
  7.     // specific configuration settings for the redis driver
  8.     'redis' => array(
  9.         'database' => 'default', // name of the redis database to use (as configured in config/db.php)
  10.     ),
  11. );



driverに「redis」を指定し、設定は「default」を利用するよう指定しました。


続いて、fuel/app/config/development/db.phpを編集します。

・fuel/app/config/development/db.php


  1. <?php
  2. /**
  3. * The development database settings. These get merged with the global settings.
  4. */
  5. return array(
  6.     'default' => array(
  7.         'connection' => array(
  8.             'dsn'        => 'mysql:host=localhost;dbname=fuel_dev',
  9.             'username' => 'root',
  10.             'password' => 'root',
  11.         ),
  12.     ),
  13.     // --- 以下を追記
  14.     'redis' => array(
  15.         'default' => array(
  16.             'hostname' => '127.0.0.1',
  17.             'port'     => 6379,
  18.             'timeout'    => null,
  19.             'database' => 0,
  20.         ),
  21.     ),
  22. );



Redisに接続するための設定を記載します。

これで設定ファイルの準備は完了です。



サンプルプログラム



fuel/app/classes/controller/test.phpを作成。
適当なサンプルを記載します。


  1. <?php
  2. class Controller_Test extends Controller
  3. {
  4.     public function action_index()
  5.     {
  6.         $counter = 0;
  7.         try {
  8.             $counter = Cache::get('counter');
  9.         } catch (\CacheNotFoundException $e) {
  10.             // 初回、キーが存在しない場合はエラーになる
  11.         }
  12.         
  13.         echo $counter;
  14.         Cache::set('counter', $counter + 1);
  15.     }
  16. }



これで、http://[サーバーIP]/testに接続するたび、
カウントが上昇するはずです。

914_01.png

914_02.png

914_03.png
関連記事

プロフィール

Author:symfo
blog形式だと探しにくいので、まとめサイト作成中です。
https://symfo.web.fc2.com/

PR

検索フォーム

月別アーカイブ