NAME¶
Jifty::DBI::Record::Memcached - records with caching behavior
SYNOPSIS¶
package Myrecord;
use base qw/Jifty::DBI::Record::Memcached/;
DESCRIPTION¶
This module subclasses the main Jifty::DBI::Record package to add a caching
layer.
The public interface remains the same, except that records which have been
loaded in the last few seconds may be reused by subsequent get or load methods
without retrieving them from the database.
METHODS¶
load_from_hash¶
Overrides the implementation from Jifty::DBI::Record to add support for caching.
load_by_cols¶
Overrides the implementation from Jifty::DBI::Record to add support for caching.
_cache_config¶
You can override this method to change the duration of the caching from the
default of 5 seconds.
For example, to cache records for up to 30 seconds, add the following method to
your class:
sub _cache_config {
{ 'cache_for_sec' => 30 }
}
memcached_config¶
Returns a hash containing arguments to pass to Cache::Memcached during
construction. The defaults are like:
(
services => [ '127.0.0.1:11211' ],
debug => 0,
)
You may want to override this method if you want a customized cache
configuration:
sub memcached_config {
(
servers => [ '10.0.0.15:11211', '10.0.0.15:11212',
'10.0.0.17:11211', [ '10.0.0.17:11211', 3 ] ],
debug => 0,
compress_threshold => 10_000,
);
}
cache_key_prefix¶
Returns the prefix we should prepend to all cache keys. If you're using one
memcached for multiple applications, you want this to be different for each
application or they might end up mingling data.
AUTHOR¶
Matt Knopp <mhat@netlag.com>
SEE ALSO¶
Jifty::DBI, Jifty::DBI::Record