NAME
Cache::Memcached::Indexable - A key indexable Cache::Memcached wrapper
SYNOPSIS
use Cache::Memcached::Indexable;
$memd = new Cache::Memcached::Indexable {
'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,
};
$memd->set_servers($array_ref);
$memd->set_compress_threshold(10_000);
$memd->enable_compress(0);
$memd->set("my_key", "Some value");
$memd->set("object_key", { 'complex' => [ "object", 2, 4 ]});
$val = $memd->get("my_key");
$val = $memd->get("object_key");
if ($val) { print $val->{'complex'}->[2]; }
$memd->incr("key");
$memd->decr("key");
$memd->incr("key", 2);
@all_keys = $memd->keys;
DESCRIPTION
THIS IS ALPHA SOFTWARE
Cache::Memcached::Indexable is a key indexable memcached interface. It is a simple wrapper class of Cache::Memcached. Usually, we can't get any key information of stored data with using memcached. This module provides keys()
method (likes CORE::keys()
) for getting all of stored key information.
In fact, this module uses only a few patterns of knowable key, and it stores the key with the value of large hash-ref. It controls the large hash-ref when you call set, get or delete methods.
It was implantated some functions of Cache::Memcached. But the implanted functions are only documented functions. Note that some undocumented functions weren't implanted to this module.
CONSTRUCTOR
new
-
Takes one parameter, a hashref of options. Almost same as Cache::Memcached's constructor. But it has some additional parameter.
logic
The parameter of
logic
is the name of your chosen logic class or the entity of the logic class instance.$memd = Cache::Memcached::Indexable->new({ logic => 'Cache::Memcached::Indexable::Logic::DigestSHA1', logic_args => { set_max_power => 0xFF }, %memcached_args, })
and the following code is same as above:
use Cache::Memcached::Indexable::Logic::DigestSHA1; $logic = Cache::Memcached::Indexable::Logic::DigestSHA1->new({ set_max_power => 0xFF, }); $memd = Cache::Memcached::Indexable->new({ logic => $logic, %memcached_args, });
logic_args
The arguments of your specified logic class (see above.)
memd
You may specify your favorite memcached interface class. But it must have Cache::Memcached compatibility (e.g. Cache::Memcached::XS).
METHODS
keys()
You can get all of stored keys with calling this method.
And the usage of following methods. See Cache::Memcached document.
set_servers
set_debug
set_readonly
set_norehash
set_compress_threshold
enable_compress
get
get_multi
set
add
replace
delete
incr
decr
stats
disconnect_all
flush_all
WARRANTY
THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
AUTHOR
Koichi Taniguchi <taniguchi@livedoor.jp>
LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
SEE ALSO
Cache::Memcached, Cache::Memcached::Indexable::Logic, Cache::Memcached::Indexable::Logic::Default