MC - Async Memcached client using Mojo::IOLoop
for event loop
use MC;
# Blocking API
my $mc = MC->new('localhost', 11211);
my $flags = 13;
$mc->set('key', $flags, 'value');
my $value = $mc->get('key')->{value}; # value
$mc->delete('key');
$value = $mc->get('key'); # undef
$mc->set('key1', 0, 'value1');
$mc->set('key2', 0, 'value2');
my $values = $mc->get([qw/key1 key2/]);
print $values->{key1}{value}; # value1
print $values->{key2}{flags}; # 0
# Non-blocking API
use Mojo::IOLoop;
$mc->set(('akey', 1, 'avalue') => sub {
my ($mc, $err, $response) = @_;
die "Error: $err" if $err;
$mc->get(akey => sub {
my ($mc, $err, $response) = @_;
die "Error: $err" if $err;
print $response->{value}; # avalue
Mojo::IOLoop->stop;
});
});
Mojo::IOLoop->start;
$mc->set($key, $flags, $value);
$mc->set($key, $flags, $value, {exptime => 10});
Store $value and $flags associated with $key in Memcached.
$mc->set($key, $flags, $value, sub {
my ($mc, $err, $response) = @_;
...
});
You can append callback to set
for perform methond non-blocking.
$mc->get($key); # {value => '...', flags => '...'}
$mc->get([$key1, $key2, $key3]); # {$key1 => {...}, $key2 => {...}}
Get one or more flags and values from Memcached by key(s).
$mc->get([$key1, $key2] => sub {
my ($mc, $err, $response) = @_;
...
});
You can append callback to get
for perform methond non-blocking.
$mc->delete($key);
Delete flags and value associated with $key from Memcached.
$mc->delete($key => sub {
my ($mc, $err, $response) = @_;
...
});
You can append callback to delete
for perform methond non-blocking.