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 <[email protected]>

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.