sfMemcachePluginを使ってみる
phpのセッション管理にmemcacheを使うとむちゃくちゃ早いとの情報を得たので(いまさらですかね(^^;)さっそく調査してみると、Memcacheはやっぱりすごかった:アシアルブログにベンチマークした結果が載ってた。
ふむふむなるほどこれは使えるな〜♪
さっそくsymfonyでも使ってみようと思ってさらに調査。
memcacheをsymfonyから利用してみる:ueblogでsfMemcachePluginというのが紹介されてましたので自分でもやってみることに。
memcachedのインストール
# yum install memcached
※dagのリポジトリでないとyumでmemcacheは見つからなかったです。。。
つづいてphpでmemcacheを使えつるようにmemcacheをインストール
# pecl install memcache
php.iniに次のextensionを追記
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/memcache.so
sfMemcachePluginをインストール
$ symfony plugin-install http://plugins.symfony-project.com/sfMemcachePlugin
memcacheを使いたいアプリのconfigディレクトリに設定ymlファイルをコピー
$ cp plugins/sfMemcachePlugin/config/config_handlers.yml apps/front/config/ $ cp plugins/sfMemcachePlugin/config/memcache.yml apps/front/config/
※設定内容は必要であれば適宜修正します。
サンプル
action
public function executeIndex() { $ns = 'mynamespace'; $key = 'mykey'; $fc = new sfMemcacheFunctionCache; $this->result = ''; if ($fc->has($key, $ns, '')) { $this->result = $fc->get($key, $ns, ''); } else { $result = 'hello! memcache!'; $fc->set($key, $ns, $result); } sfView::SUCCESS; }
templates
<?php echo $result ?>
ちゃんと2回目の表示で出ました。
これで超速いので、文句なしですね♪