Catalyst::Plugin::Session::Store::Cache - Store sessions using a Catalyst::Plugin::Cache


Catalyst-Plugin-Session-Store-Cache documentation Contained in the Catalyst-Plugin-Session-Store-Cache distribution.

Index


Code Index:

NAME

Top

Catalyst::Plugin::Session::Store::Cache - Store sessions using a Catalyst::Plugin::Cache

SYNOPSIS

Top

    use Catalyst qw/Cache::YourFavoriteCache Session Session::Store::Cache/;

DESCRIPTION

Top

This plugin will store your session data in whatever cache module you have configured.

METHODS

Top

See Catalyst::Plugin::Session::Store.

get_session_data
store_session_data
delete_session_data
delete_expired_sessions

AUTHOR

Top

Lars Balker Rasmussen, <lbr@cpan.org>

COPYRIGHT AND LICENSE

Top


Catalyst-Plugin-Session-Store-Cache documentation Contained in the Catalyst-Plugin-Session-Store-Cache distribution.

#!/usr/bin/perl

package Catalyst::Plugin::Session::Store::Cache;
use base qw/Catalyst::Plugin::Session::Store/;

use strict;
use warnings;

our $VERSION = "0.01";

my $cache_key_prefix = "catalyst-plugin-session-store-cache:";

sub get_session_data {
    my ($c, $key) = @_;
    $c->cache->get($cache_key_prefix . $key);
}

sub store_session_data {
    my ($c, $key, $data) = @_;
    my $expires = $c->config->{session}{expires};
    $c->cache->set($cache_key_prefix . $key, $data, $expires);
}

sub delete_session_data {
    my ( $c, $key ) = @_;
    $c->cache->remove($cache_key_prefix . $key);
}

sub delete_expired_sessions { }

1;

__END__