NAME
Mojolicious::Plugin::CHI - Use CHI Caches in Mojolicious
SYNOPSIS
# Mojolicious
$app->plugin(CHI => {
MyCache => {
driver => 'FastMmap',
root_dir => '/cache',
cache_size => '20m'
}
});
# Mojolicious::Lite
plugin 'CHI' => {
default => {
driver => 'Memory',
global => 1
}
};
# In Controllers:
$c->chi('MyCache')->set(my_key => 'This is my value');
print $c->chi('MyCache')->get('my_key');
# Using the default cache
$c->chi->set(from_memory => 'With love!');
print $c->chi->get('from_memory');
DESCRIPTION
Mojolicious::Plugin::CHI is a simple plugin to work with CHI caches within Mojolicious.
METHODS
register
# Mojolicious
$app->plugin(CHI => {
MyCache => {
driver => 'FastMmap',
root_dir => '/cache',
cache_size => '20m'
},
default => {
driver => 'Memory',
global => 1
},
namespaces => 1
});
# Mojolicious::Lite
plugin 'CHI' => {
default => { driver => 'Memory', global => 1 }
};
# Or in your config file
{
CHI => {
default => {
driver => 'Memory',
global => 1
}
}
}
Called when registering the plugin. On creation, the plugin accepts a hash of cache names associated with CHI objects.
All cache handles are qualified CHI namespaces. You can omit this mapping by passing a namespaces
parameter with a false
value.
The handles have to be unique, i.e. you can't have multiple different default
caches in mounted applications using Mojolicious::Plugin::Mount.
All parameters can be set either on registration or as part of the configuration file with the key CHI
.
HELPERS
chi
# In Controllers:
$c->chi('MyCache')->set(my_key => 'This is my value', '10 min');
print $c->chi('MyCache')->get('my_key');
print $c->chi->get('from_default_cache');
Returns a CHI handle if registered. Accepts the name of the registered cache. If no cache handle name is given, a cache handle name default
is assumed.
DEPENDENCIES
Note: Old versions of CHI had a lot of dependencies. It was thus not recommended to use this plugin in a CGI environment. Since new versions of CHI use Moo instead of Moose, more use cases may be possible.
CONTRIBUTORS
AVAILABILITY
https://github.com/Akron/Mojolicious-Plugin-CHI
COPYRIGHT AND LICENSE
Copyright (C) 2012-2014, Nils Diewald.
This program is free software, you can redistribute it and/or modify it under the terms of the Artistic License version 2.0.