NAME
Cache::Memcached::Indexable - A key indexable Cache::Memcached wrapper
SYNOPSIS
$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
) {
$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:
$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