Tripletail
view release on metacpan or search on metacpan
lib/Tripletail/MemCached.pm view on Meta::CPAN
# -----------------------------------------------------------------------------
# Tripletail::MemCached - ãã£ãã·ã¥ãæ±ã
# -----------------------------------------------------------------------------
package Tripletail::MemCached;
use Tripletail;
use strict;
use warnings;
1;
sub _new {
my $class = shift;
my $this = bless {} => $class;
my @servers;
$this->{servers} = $TL->INI->get('MemCached' => servers => undef);
if(!defined($this->{servers})) {
push(@servers,'localhost:11211');
} else {
foreach my $tmp (split(/\s+/, $this->{servers})) {
push(@servers,split(/\s?,\s?/, $tmp));
}
}
$this->{servers} = \@servers;
$this->{compress_threshold} = $TL->INI->get('MemCached' => 'compress_threshold', '10000');
my $xs = $TL->INI->get('MemCached' => 'xs', '1');
if($xs == 1) {
do {
local $SIG{__DIE__} = 'DEFAULT';
eval 'use Cache::Memcached::XS';
};
if($@) {
do {
local $SIG{__DIE__} = 'DEFAULT';
eval 'use Cache::Memcached';
};
if($@) {
die "TL#newMemCached: failed to load Cache::Memcached [$@] (Cache::Memcachedã使ç¨ã§ãã¾ãã)\n";
}
}
} else {
do {
local $SIG{__DIE__} = 'DEFAULT';
eval 'use Cache::Memcached';
};
if($@) {
die "TL#newMemCached: failed to load Cache::Memcached [$@] (Cache::Memcachedã使ç¨ã§ãã¾ãã)\n";
}
}
$this->{memd} = Cache::Memcached->new({
'servers' => $this->{servers},
'debug' => 0,
'compress_threshold' => $this->{compress_threshold},
});
$this;
}
sub set {
my $this = shift;
my $key = shift;
my $value = shift;
my $expires = shift;
if(!defined($key)) {
die __PACKAGE__."#set: arg[1] is not defined. (第1弿°ãæå®ããã¦ãã¾ãã)\n";
( run in 0.542 second using v1.01-cache-2.11-cpan-5b529ec07f3 )