March 26, 2013

FuelPHPでセッションの保存先をRedisにしてみた

Macで確認しています。Redisは既にインストールされている状態とします。

参考: MacにRedisをインストールしてみた
http://madroom-project.blogspot.jp/2013/03/macredis.html

デーモン化したRedisを起動してモニタリングしておきます。
$ redis-server ~/redis.conf
$ redis-cli monitor
OK
FuelPHP1.5.3をDLして、必要なファイルを用意します。

app/classes/controller/redis.php
* 確認用の為、適当すぎる内容ですみませんm(_ _)m
<?php

class Controller_Redis extends Controller
{

    public function action_index()
    {
        Session::set('xxx', 'yyy');
        return Response::forge(View::forge('redis/index'));
    }

}
app/views/redis/index.php
* 同様に、適当すぎる内容ですみませんm(_ _)m
<p>index</p>
app/config/session.php
<?php

return array(
    'driver' => 'redis',
    // 以下はcore/config/session.phpのままです。メモとして書いてあります。
    'redis' => array(
        'cookie_name' => 'fuelrid',
        'database' => 'default',
    ),
);
app/config/db.php
<?php

return array(
    // 以下は全てcore/config/db.phpのままです。メモとして書いてあります。
    'redis' => array(
        'default' => array(
            'hostname' => '127.0.0.1',
            'port' => 6379,
            'timeout' => null,
        )
    ),
);
ブラウザからredis/indexにアクセスして、モニタリングしているコンソールへの出力を確認します。


尚、FuelPHPのRedisクラスのドキュメントは以下ですが、forgeのパラメータに$nameとあります。
http://fuelphp.com/docs/classes/redis.html
$nameは、前述のconfig/db.phpにおける"redis.default"の"default"の箇所の指定になります。

No comments:

Post a Comment