NAME

Catalyst::Plugin::Session::Store::Memcached - Memcached storage backend for session data.

SYNOPSIS

use Catalyst qw/ Session Session::Store::Memcached Session::State::Foo /;

MyApp->config->{session} = {
    expires => 3600,
    memcached_new_args => {
        # L<Cache::Memcached::Managed/new>
        'data' => [ "10.0.0.15:11211", "10.0.0.15:11212" ],
    },
    memcached_item_args => {
        # L<Cache::Memcached::Managed/set>, get, delete
        # ...
    },
};

# ... in an action:
$c->session->{foo} = 'bar';    # will be saved

DESCRIPTION

Catalyst::Plugin::Session::Store::Memcached is a session storage plugin for Catalyst that uses the Cache::Memcached::Managed module to connect to memcached, a fast data caching server.

METHODS

get_session_data
store_session_data
delete_session_data
delete_expired_sessions

These are implementations of the required methods for a store. See Catalyst::Plugin::Session::Store.

setup_session

Sets up the session cache file.

CONFIGURATION

These parameters are placed in the hash under the session key in the configuration hash.

memcached_obj

If this key is a true value it will be used as the storage driver. It is assumed that it adheres to the same interface as Cache::Memcached::Managed.

memcached_new_args

This parameter is a hash reference which will be flattenned as the argument list to "new" in Cache::Memcached::Managed.

Some default values will be used:

data

The data server to use defaults to localhost:11211.

expiration

$c->config->{session}{expires},

namespace

"catalyst_session"

memcached_item_args

Extra arguments to be passed into set, get, and delete. These are discussed in Cache::Memcached::Managed.

Some default values will be used:

version

YourApp->VERSION

key

"YourApp"

SEE ALSO

Catalyst, Catalyst::Plugin::Session, Cache::Memcached.

AUTHORS

This module is derived from Catalyst::Plugin::Session::FastMmap code, and has been heavily modified since.

Andrew Ford Andy Grundman Christian Hansen Yuval Kogman, nothingmuch@woobling.org Marcus Ramberg Sebastian Riedel

head1 COPYRIGHT

This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself.