Mojolicious::Plugin::CHI - Use CHI caches within Mojolicious
# 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');
Mojolicious::Plugin::CHI is a simple plugin to work with CHI caches within Mojolicious.
# 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.
In addition to that, you can set the namespaces
parameter to a true value. In this case, the cache handle name will also be set as the namespace of the CHI
object.
All parameters can be set either on registration or as part of the configuration file with the key CHI
.
Note: By default, the namespaces
flag is deactivated and you have to set the namespace of your cache manually. This will change in further releases.
# 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.
Note: CHI has a lot of dependencies. It is thus not recommended to use this plugin in a CGI environment.
Boris Däppen (borisdaeppen)
https://github.com/Akron/Mojolicious-Plugin-CHI
Copyright (C) 2012, Nils Diewald.
This program is free software, you can redistribute it and/or modify it under the same terms as Perl.