Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Catalyst::Plugin::SessUser:ContributedyPerlPDugin::Session::Store::FastMmap(3)

NAME
       Catalyst::Plugin::Session::Store::FastMmap - FastMmap session storage
       backend.

SYNOPSIS
	   use Catalyst	qw/Session Session::Store::FastMmap Session::State::Foo/;

	   MyApp->config(
	       'Plugin::Session' => {
		   expires => 3600,
		   storage => '/tmp/session'
	       },
	   );

	   # ... in an action:
	   $c->session->{foo} =	'bar'; # will be saved

DESCRIPTION
       "Catalyst::Plugin::Session::Store::FastMmap" is a fast session storage
       plugin for Catalyst that	uses an	mmap'ed	file to	act as a shared	memory
       interprocess cache. It is based on Cache::FastMmap.

   METHODS
       get_session_data
       store_session_data
       delete_session_data
       delete_expired_sessions
	   These are implementations of	the required methods for a store. See
	   Catalyst::Plugin::Session::Store.

       get_and_set_session_data
	   This	is the optional	method for atomic write	semantics. See
	   Catalyst::Plugin::Session::AtomicWrite.

       setup_session
	   Sets	up the session cache file.

CAVEATS
       Very loaded sites with lots of data in the session hash may have	old
       sessions	expired	prematurely, due to the	LRU caching policy employed by
       Cache::FastMmap.	To get around this you can increase the	"cache_size"
       parameter, or switch session storage backends.  Cache::FastMmap
       defaults	to around 5mb (89 * 64k).

       This is particularly inappropriate for use as a backend for e.g.
       Catalyst::Plugin::Session::PerUser, for example.

       As Cache::FastMmap is not "thread-safe" (at least version 1.30 and
       before) therefore also this module does not work	in multi-threaded
       environment.  It	is "fork-safe",	however	keep in	mind that on Win32 the
       perl "fork" call	is implemented as an emulation via threads - that is
       the reason why you cannot use this store	for example when running you
       catalyst	application on Win32 platform with
       Catalyst::Engine::HTTP::Prefork engine.

CONFIGURATION
       These parameters	are placed in the hash under the "Plugin::Session" key
       in the configuration hash.

       storage
	   Specifies the file to be used for the sharing of session data. The
	   default value will use File::Spec to	find the default tempdir, and
	   use a file named "MyApp_session_data", where	"MyApp"	is replaced
	   with	the appname.

	   Note	that the file will be created with mode	0640, which means that
	   it will only	be writeable by	processes running with the same	uid as
	   the process that creates the	file.  If this may be a	problem, for
	   example if you may try to debug the program as one user and run it
	   as another, specify a filename like "/tmp/session-$>", which
	   includes the	UID of the process in the filename.

       init_file
       cache_size
       unlink_on_exit
	   See the Cache::FastMmap documentation for the meaning of these
	   keys. If these keys are not present Cache::FastMmap's defaults will
	   be used.

SEE ALSO
       Catalyst, Catalyst::Plugin::Session, Cache::FastMmap.

AUTHORS
       This module is derived from Catalyst::Plugin::Session::FastMmap code,
       and has been heavily modified since.

	 Andrew	Ford
	 Andy Grundman
	 Christian Hansen
	 Yuval Kogman, <nothingmuch@woobling.org>
	 Marcus	Ramberg
	 Sebastian Riedel
	 Tomas Doran, (t0m) <bobtfish@bobtfish.net>

COPYRIGHT
       Copyright (c) 2005 - 2012 the
       Catalyst::Plugin::Session::Store::FastMmap "AUTHORS" as listed above.

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

perl v5.32.1			 Catalyst::Plugin::Session::Store::FastMmap(3)

NAME | SYNOPSIS | DESCRIPTION | CAVEATS | CONFIGURATION | SEE ALSO | AUTHORS | COPYRIGHT | LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Catalyst::Plugin::Session::Store::FastMmap&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help