.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 .\" .\" Standard preamble: .\" ======================================================================== .de Sh \" Subsection heading .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. | will give a .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to .\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' .\" expand to `' in nroff, nothing in troff, for use with C<>. .tr \(*W-|\(bv\*(Tr .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .\" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .hy 0 .if n .na .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Gantry::Plugins::Cache::FastMmap 3" .TH Gantry::Plugins::Cache::FastMmap 3 "2008-01-18" "perl v5.8.8" "User Contributed Perl Documentation" .SH "NAME" Gantry::Plugins::Cache::FastMmap \- A Plugin interface to a caching subsystem .SH "SYNOPSIS" .IX Header "SYNOPSIS" It is sometimes desireable to cache data between page accesess. This module gives access to the Cache::FastMmap module to store that data. .PP .Vb 4 \& \& # ... \& use MyApp qw{ -Engine=CGI -TemplateEngine=TT Cache::FastMap }; \& .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This plugin mixes in methods to store data within a cache. This data is then available for later retrival. Data is stored within the cache by key/value pairs. There are no restrictions on what information can be stored. This cache is designed for short term data storage. Cached data items will be timed out and purged at regular intervals. The caching system also has the concept of namespace. Namespaces are being used to make key's unique. So you may store multiple unique data items within the cache. .SH "CONFIGURATION" .IX Header "CONFIGURATION" The following items can be set by configuration: .PP .Vb 4 \& cache_pages the number of pages within the cache \& cache_pagesize the sixe of those pages \& cache_expires the expiration of items within the cache \& cache_filename the cache filename .Ve .PP The following reasonable defaults are being used for those items: .PP .Vb 4 \& cache_pages 256 \& cache_pagesize 256k \& cache_expires 1h \& cache_filename /tmp/gantry.cache .Ve .PP Since this cache is being managed by Cache::FastMmap, any changes to those defaults should be consistent with that modules usage. Also note that memory consumption may seem excessive. This may cause problems on your system, so the Cache::FastMmap man pages will explain how to deal with those issue. .SH "METHODS" .IX Header "METHODS" .IP "cache_init" 4 .IX Item "cache_init" This method will initialize the cache. It should be called only once within the application. .Sp .Vb 1 \& $self->cache_init(); .Ve .IP "cache_inited" 4 .IX Item "cache_inited" For internal use. .Sp Dual use accessor for init flag. If cache_init has run this attribute is 1, otherwise it's 0. .IP "cache_namespace" 4 .IX Item "cache_namespace" This method will get/set the current namespace for cache operations. .Sp .Vb 1 \& $self->cache_namespace($namespace); .Ve .IP "cache_handle" 4 .IX Item "cache_handle" This method returns the handle for the underlining cache. You can use this handle to manipulate the cache directly. Doing so will be highly specific to the underling cache handler. .Sp .Vb 1 \& $handle = $self->cache_handle(); .Ve .IP "cache_purge" 4 .IX Item "cache_purge" Equivalent to .Sp .Vb 1 \& $self->cache_handle()->purge(); .Ve .IP "cache_get" 4 .IX Item "cache_get" This method returns the data associated with the current namespace/key combination. .Sp .Vb 2 \& $self->cache_namespace($namespace); \& $data = $self->cache_get($key); .Ve .IP "cache_set" 4 .IX Item "cache_set" This method stores the data associated with the current namespace/key combination. .Sp .Vb 2 \& $self->cache_namespace($namespace); \& $self->cache_set($key, $data); .Ve .IP "cache_keys" 4 .IX Item "cache_keys" This method returns an arry reference of cache keys. .Sp .Vb 1 \& my $arrayref = $self->cache_keys(); .Ve .IP "cache_clear" 4 .IX Item "cache_clear" This method will clear the entire cache. .Sp .Vb 1 \& $self->cache_clear(); .Ve .IP "cache_del" 4 .IX Item "cache_del" This method removes the data associated with the current namespace/key combination. .Sp .Vb 2 \& $self->cache_namespace($namespace); \& $self->cache_del($key); .Ve .IP "cache_expires" 4 .IX Item "cache_expires" Retrieves the current expiration time for data items within the cache. The expiration time is set when the cache is initially initialize. So setting it will not change anything. Expiration time formats are highly specific to the underlining cache handler. .Sp .Vb 1 \& $expiration = $self->cache_expires(); .Ve .SH "SEE ALSO" .IX Header "SEE ALSO" .Vb 1 \& Gantry .Ve .SH "AUTHORS" .IX Header "AUTHORS" Kevin L. Esteb , Tim Keefer .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" Copyright (C) 2007 Kevin L. Esteb .PP This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.6 or, at your option, any later version of Perl 5 you may have available.