Cache-MemcachedBinary
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/Cache/MemcachedBinary.pm view on Meta::CPAN
}
sub _socket_destroy {
my $self = shift;
$self->_log("socket destroy " . $self->socket);
close($self->socket) if $self->socket;
$self->set_socket(undef);
return;
}
sub _log {
my ($self, $str, $flag) = @_;
return unless $str;
$flag //= 0;
if (! $self->logger) {
$self->set_logger( sub { print STDERR shift() . "\n" } );
}
if (ref $self->logger ne 'CODE') {
print STDERR "param 'logger' has type of reference not function\n";
return;
}
if ($self->debug || $flag == ERROR_FLAG) {
$self->logger->($str);
}
return;
}
sub host {return $_[0]->{host}}
sub port {return $_[0]->{port}}
sub timeout {return $_[0]->{timeout}}
sub login {return $_[0]->{login}}
sub password {return $_[0]->{password}}
sub socket {return $_[0]->{socket}}
sub debug {return $_[0]->{debug}}
sub logger {return $_[0]->{logger}}
sub err {return $_[0]->{err}}
sub set_host { $_[0]->{err} = $_[1]; }
sub set_port { $_[0]->{port} = $_[1]; }
sub set_timeout { $_[0]->{timeout} = $_[1]; }
sub set_login { $_[0]->{login} = $_[1]; }
sub set_password { $_[0]->{password} = $_[1]; }
sub set_socket { $_[0]->{socket} = $_[1]; }
sub set_debug { $_[0]->{debug} = $_[1]; }
sub set_logger { $_[0]->{logger} = $_[1]; }
sub set_err { $_[0]->{err} = $_[1]; }
1;
__END__
=head1 NAME
Cache::MemcachedBinary - Perl extension for Memcached server with binary protocol.
=head1 SYNOPSIS
use Modern::Perl;
use Cache::MemcachedBinary;
my $logger = sub {say @_};
my $obj_mem = Cache::MemcachedBinary->new(
host => '127.0.0.1',
port => 11211,
timeout => 2,
login => 'login',
password => 'password',
debug => 1,
logger => $logger, # default print to STDERR
);
my $key = 'memcached_key';
# get value
my $value = $obj_mem->get($key);
# add/set
$obj_mem->add($key, 'my value' [, $exptime]);
$obj_mem->set($key, 'my value' [, $exptime]);
# delete
$obj_mem->delete($key);
# increment
my $incr = $obj_mem->incr($key);
# flush all memcached data
$obj_mem->flush();
=head1 DESCRIPTION
This module is simple interface for Memcached server with binary protocol.
=head2 EXPORT
None.
=head1 AUTHOR
Konstantin Titov, E<lt>xmolex@cpan.orgE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2024 by Konstantin Titov
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
=cut
view all matches for this distributionview release on metacpan - search on metacpan
( run in 5.027 seconds using v1.00-cache-2.02-grep-82fe00e-cpan-72ae3ad1e6da )