Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/regru/template-context-cacheable


https://github.com/regru/template-context-cacheable

Last synced: 29 days ago
JSON representation

Awesome Lists containing this project

README

        

NAME
Template::Context::Cacheable - profiling/caching-aware version of
Template::Context

SYNOPSIS
use My::Favourite::Cache::Engine;
use Template::Context::Cacheable;
Template::Context::Cacheable::configure_caching(
\&My::Favourite::Cache::Engine::get,
\&My::Favourite::Cache::Engine::put,
);

DESCRIPTION
Enables profiling and caching of Template-Toolkit subtemplates, that can
improve template processing speed many times.

Using in templates
Inside any template you can use cached subtemplates. See example:

[% PROCESS subtemplate.tt
param_name_1 = 'value_1'
param_name_2 = 'value_2'
__cache_time = 60
%]

Here __cache_time parameter enables caching and sets caching time in
seconds. If __cache_time value is negative, subtemplated will be cached
forever (actually it will be cached for 12 hours ;)

param_name_X is examples of parameters, which combination will be used
as a hash key.

FUNCTIONS / METHODS
The following functions / methods are available:

configure_caching ( cache_get_ref, cache_put_ref )
Install cache get / put handlers.

Here are protypes for get / put handlers which illustrates parameters
which they will receive:

sub get { my ($key) = @_;

...
}

sub set { my ($code, $key, $keep_in_seconds) = @_;

...
}

process ( self )
Overloaded Template::Context::process method

EXPORT
No functions is exported.

AUTHOR
Walery Studennikov, ""

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