Plack::Session::Store - Basic in-memory session store


  use Plack::Builder;
  use Plack::Middleware::Session;
  use Plack::Session::Store;

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

  builder {
      enable 'Session'; # this is the default store


This is a very basic in-memory session data store. It is volatile storage and not recommended for multiprocessing environments. However it is very useful for development and testing.

This should be considered the store "base" class (although subclassing is not a requirement) and defines the spec for all Plack::Session::Store::* modules. You will only need to override a couple methods if you do subclass. See the other Plack::Session::Store::* for examples of this.


new ( %params )

No parameters are expected to this constructor.

Session Data Management

These methods fetch data from the session storage. It's designed to store or delete multiple keys at a time.

fetch ( $session_id )
store ( $session_id, $session )

Storage Management

remove ( $session_id )

This method is called by the Plack::Session expire method and is used to remove any session data.


All complex software has bugs lurking in it, and this module is no exception. If you find a bug please either email me, or add the bug to cpan-RT.


Stevan Little <>


Copyright 2009, 2010 Infinity Interactive, Inc.

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