3 # Copyright 2009 Chris Cormack and The Koha Dev Team
5 # This file is part of Koha.
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
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.
16 # You should have received a copy of the GNU General Public License along with
17 # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
18 # Suite 330, Boston, MA 02111-1307 USA
22 C4::Cache - Handling caching of html and Objects for Koha
26 use C4::Cache (cache_type => $cache_type, %params );
31 Base class for C4::Cache::X. Subclasses need to provide the following methods
33 B<_cache_handle ($params_hr)> - cache handle creator
34 B<set_in_cache ($key, $value, $expiry)>
35 B<get_from_cache ($key)>
36 B<clear_from_cache ($key)>
47 use base
qw(Class::Accessor);
49 use C4
::Cache
::Memcached
;
50 use C4
::Cache
::FastMemcached
;
52 __PACKAGE__
->mk_ro_accessors( qw( cache ) );
58 my $cache_type = $param{cache_type
} || 'memcached';
59 my $subclass = __PACKAGE__
."::".ucfirst($cache_type);
60 my $cache = $subclass->_cache_handle(\
%param)
61 or croak
"Cannot create cache handle for '$cache_type'";
62 return bless $class->SUPER::new
({cache
=> $cache}), $subclass;
75 Chris Cormack, E<lt>chris@bigballofwax.co.nzE<gt>