Session管理
Catalyst::Plugin::Session::Manager が Sledge ライクで一番便利そう。
ただ、Session の保存先は Memcached にしたいので Catalyst::Plugin::Session::Manager::Storage::Memcached とかあると嬉しいなぁと・・・
作って作者様に送ったら迷惑かなぁ・・・
DEBUG もしてないし、適当なんですが、一応、メモ程度に。
package Catalyst::Plugin::Session::Manager::Storage::Memcached; use strict; use warnings; use base qw/Catalyst::Plugin::Session::Manager::Storage/; use Cache::Memcached; our $EXPIRES = 60 * 60; sub new { my ($class, $config) = @_; bless { config => $config, _data => Cache::Memcached->new({ servers => $config->{session}{servers} || [], debug => 0, }), }, $class; } sub get { my ($self, $sid) = @_; $self->{_data}->get( $sid ); } sub set { my ($self, $c) = @_; my $sid = $c->sessionid or return; $self->{_data}->set( $sid, $c->session, $self->config->{session}{expires} ); }
こ・・・こんな感じでどうっすかね?ん〜自信ない。
Catalyst::Plugin::Session::Store::Memcached もあるし、こっち使った方が良いのなかなぁ
その後
Catalyst::Plugin::Session::Manager 作者 id:lyokato 様よりコメントを頂けました。
Catalyst::Plugin::Session::Manager は Catalyst5.3 のための backward compatibility である事。
Catalyst 5.5 以降では、Catalyst::Plugin::Session を使用するのが一般的である事。
を、お教え頂きました。(多謝!!)