NAME

Plack::Session::Store::RedisFast - Redis session store.

DESCRIPTION

Default implementation of Redis handle is Redis::Fast; otherwise Redis.

May be overriden through "redis" param.

Default implementation of serializer handle is JSON::XS; otherwise Mojo::JSON or JSON.

May be overriden through "inflate" and "deflate" param.

SYNOPSIS

use Plack::Builder;
use Plack::Session::Store::RedisFast;

my $app = sub {
    return [ 200, [ 'Content-Type' => 'text/plain' ], [ 'Hello Foo' ] ];
};

builder {
    enable 'Session',
        store => Plack::Session::Store::RedisFast->new;
    $app;
};

DESCRIPTION

This will persist session data using Redis::Fast or Redis.

This is a subclass of Plack::Session::Store and implements its full interface.

METHODS

new

Plack::Session::Store::RedisFast->new( %param );

Parameters:

redis

A simple accessor for the Redis handle.

inflate

A simple serializer, requires "deflate" param.

deflate

A simple deserializer, requires "inflate" param.

encoder

A simple encoder (encode/decode implementation), class or instance. JSON/utf8 by default.

prefix

A prefix for Redis session ids. 'Plack::Session::Store::RedisFast:' by default.

expires

An expires for Redis sessions. "ONE_MONTH" in Time::Seconds by default.

each_session

$store->each_session(sub {
    my ( $redis_instance, $redis_prefix, $session_id, $session ) = @_;
});

Enumerates all stored sessions using SCAN, see https://redis.io/commands/scan for limitations.

BUGS

All complex software has bugs lurking in it, and this module is no exception. If you find a bug please fill in GitHub issues.

AUTHOR

Akzhan Abdulin <akzhan.abdulin@gmail.com>

COPYRIGHT

Copyright 2017- Akzhan Abdulin

LICENSE

MIT License