File Coverage

File:C4/Cache/Memoize/Memcached.pm
Coverage:57.1%

linestmtbrancondsubtimecode
1package Koha::Cache::Memoize::Memcached;
2
3# Copyright 2009 Chris Cormack and The Koha Dev Team
4#
5# This file is part of Koha.
6#
7# Koha is free software; you can redistribute it and/or modify it under the
8# terms of the GNU General Public License as published by the Free Software
9# Foundation; either version 2 of the License, or (at your option) any later
10# version.
11#
12# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
13# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
14# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
15#
16# You should have received a copy of the GNU General Public License along
17# with Koha; if not, write to the Free Software Foundation, Inc.,
18# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19
20
1
1
1
43158
2
34
use strict;
21
1
1
1
5
32
48
use warnings;
22
1
1
1
6
1
84
use Carp;
23
24
1
1
1
20834
127405
7
use Memoize::Memcached;
25
26
1
1
1
123
2
108
use base qw(C4::Cache);
27
28sub _cache_handle {
29
0
    my $class = shift;
30
0
    my $params = shift;
31
32
0
    my @servers = split /,/, $params->{'cache_servers'};
33
34
0
    my $memcached = {
35        servers => \@servers,
36        key_prefix => $params->{'namespace'} || 'koha',
37    };
38
0
    my $cache = {};
39
0
    $cache->{memcache}=$memcached;
40
0
    return $cache;
41}
42
43sub memcached_memoize {
44
0
    my $self = shift;
45
0
    my $function = shift;
46
0
    my $ttl = shift;
47
0
    memoize_memcached($function, memcached => $self->{memcached}, expire_time => $ttl);
48}
49
501;