NAME
Cache::Redis - Redis client specialized for cache
SYNOPSIS
use Cache::Redis;
my $cache = Cache::Redis->new(
server => 'localhost:9999',
namespace => 'cache:',
);
$cache->set('key', 'val');
my $val = $cache->get('key');
$cache->remove('key');
DESCRIPTION
This module is for cache of Redis backend having <Cache::Cache> like
interface.
INTERFACE
Methods
"my $obj = Cache::Redis->new(%options)"
Create a new cache object. Various options may be set in %options, which
affect the behaviour of the cache (defaults in parentheses):
"default_expires_in (60*60*24 * 30)"
The default expiration seconds for objects place in the cache.
"namespace ('')"
The namespace associated with this cache.
"nowait (0)"
If enabled, when you call a method that only returns its success
status (like "set"), in a void context, it sends the request to the
server and returns immediately, not waiting the reply. This avoids
the round-trip latency at a cost of uncertain command outcome.
"serializer ('MessagePack')"
Serializer. 'MessagePack' and 'Storable' are usable. if
`serialize_methods` option is specified, this option is ignored.
"serialize_methods (undef)"
The value is a reference to an array holding two code references for
serialization and deserialization routines respectively.
server (undef)
Redis server information. You can use `sock` option instead of this
and can specify all other Redis constructor options to
"Cache::Cache->new" method.
"$obj->set($key, $value, $expire)"
Set a stuff to cache.
"my $stuff = $obj->get($key)"
Get a stuff from cache.
"$obj->remove($key)"
Remove stuff of key from cache.
"$obj->get_or_set($key, $code, $expire)"
Get a cache value for *$key* if it's already cached. If it's not cached
then, run *$code* and cache *$expiration* seconds and return the value.
"$obj->nowait_push"
Wait all response from redis. This is intended for "$obj->nowait".
FAQ
How to set binary or blessed object to cache?
Default serializer using Data::MessagePack can't handle binary and
blessed objects (for performance).
If you want to set them. Most easiest way is to set constructor option
`serializer` to 'Storable'.
Or you can set constructor option `serialize_methods` for more frequency
handling.
DEPENDENCIES
Perl 5.8.1 or later.
BUGS
All complex software has bugs lurking in it, and this module is no
exception. If you find a bug please either email me, or add the bug to
cpan-RT.
SEE ALSO
perl
AUTHOR
Masayuki Matsuki <y.songmu@gmail.com>
LICENSE AND COPYRIGHT
Copyright (c) 2013, Masayuki Matsuki. All rights reserved.
This library is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.