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.

    expire

      An expire 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