Cache::Memcached::Indexable - A key indexable Cache::Memcached wrapper
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;
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.
keys()
CORE::keys()
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.
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).
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
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.
Koichi Taniguchi <taniguchi@livedoor.jp>
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Cache::Memcached, Cache::Memcached::Indexable::Logic, Cache::Memcached::Indexable::Logic::Default
To install Cache::Memcached::Indexable, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Cache::Memcached::Indexable
CPAN shell
perl -MCPAN -e shell install Cache::Memcached::Indexable
For more information on module installation, please visit the detailed CPAN module installation guide.