=encoding utf8 =head1 NAME MojoX::Session::Store::Redis - RedisDB Store for MojoX::Session =cut =head1 SYNOPSIS my $session = MojoX::Session->new( tx => $tx, store => MojoX::Session::Store::Redis->new({ server => '127.0.0.1:6379', redis_prefix => 'mojo-session', redis_dbid => 0, }), transport => MojoX::Session::Transport::Cookie->new, ); # see doc for MojoX::Session # see doc for Redis And later when you need to use it in Mojolicious Controller my $session = $self->stash('mojox-session'); $session->load; $session->create unless $session->sid; #set $session->data( id => 5, name => 'hoge', ); #get my $name = $session->data('name'); =head1 DESCRIPTION L is a store for L that stores a session in a L database. =head1 ATTRIBUTES L implements the following attributes. =head2 C Get and set Redis object. See doc for L param. $store->redis( Redis->new($param) ); my $redis = $store->redis; =head2 C Get and set the Key prefix of the stored session in Redis. Default is 'mojo-session'. $store->redis_prefix('mojo-session'); my $prefix = $store->redis_prefix; =head2 C Get and set the DB ID Number to use in Redis DB. Default is 0. $store->redis_dbid(0); my $dbid = $store->redis_dbid; =head2 C Enable/disable auto purge. When enable, session object/data stored in RedisDB will be automatically purged after TTL. This is done by setting expire time for objects just right after creating them. Changing this can only affect on objects created/updated after the change. Default is 1 (enable). $store->auto_purge(1); my $is_auto_purge_enabled = $store->auto_purge; =head1 METHODS L inherits all methods from L, and few more. =head2 C C uses the redis_prefix and redis_dbid parameters for the Key name prefix and the DB ID Number respectively. All other parameters are passed to Cnew()>. =head2 C Insert session to Redis. =head2 C Update session in Redis. =head2 C Load session from Redis. =head2 C Delete session from Redis. =head1 AUTHOR BlueT - Matthew Lien - 練喆明, C<< >> =head1 BUGS Please report any bugs or feature requests to C, or through the web interface at L. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. =head1 CREDITS Tatsuya Fukata, L =head1 CONTRIBUTE Main: bzr repository etc at L. A copy of the codes: git repository etc at L. =head1 SUPPORT You can find documentation for this module with the perldoc command. perldoc MojoX::Session::Store::Redis You can also look for information at: =over 4 =item * RT: CPAN's request tracker L =item * AnnoCPAN: Annotated CPAN documentation L =item * CPAN Ratings L =item * Search CPAN L =back =head1 ACKNOWLEDGEMENTS =head1 LICENSE AND COPYRIGHT Copyright 2011 BlueT - Matthew Lien - 練喆明. This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License. See http://dev.perl.org/licenses/ for more information. =cut