diff --git a/C4/Auth.pm b/C4/Auth.pm
index a855818aa1..ccb2c15000 100644
--- a/C4/Auth.pm
+++ b/C4/Auth.pm
@@ -33,7 +33,7 @@ use POSIX qw/strftime/;
use List::MoreUtils qw/ any /;
# use utf8;
-use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $debug $ldap $cas $caslogout $servers $memcached);
+use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $debug $ldap $cas $caslogout);
BEGIN {
sub psgi_env { any { /^psgi\./ } keys %ENV }
@@ -59,16 +59,7 @@ BEGIN {
if ($cas) {
import C4::Auth_with_cas qw(check_api_auth_cas checkpw_cas login_cas logout_cas login_cas_url);
}
- $servers = C4::Context->config('memcached_servers');
- if ($servers) {
- require Cache::Memcached;
- $memcached = Cache::Memcached->new({
- servers => [ $servers ],
- debug => 0,
- compress_threshold => 10_000,
- namespace => C4::Context->config('memcached_namespace') || 'koha',
- });
- }
+
}
=head1 NAME
@@ -1424,8 +1415,8 @@ sub get_session {
elsif ($storage_method eq 'Pg') {
$session = new CGI::Session("driver:PostgreSQL;serializer:yaml;id:md5", $sessionID, {Handle=>$dbh});
}
- elsif ($storage_method eq 'memcached' && $servers){
- $session = new CGI::Session("driver:memcached;serializer:yaml;id:md5", $sessionID, { Memcached => $memcached } );
+ elsif ($storage_method eq 'memcached' && C4::Context->ismemcached){
+ $session = new CGI::Session("driver:memcached;serializer:yaml;id:md5", $sessionID, { Memcached => C4::Context->memcached } );
}
else {
# catch all defaults to tmp should work on all systems
diff --git a/C4/Biblio.pm b/C4/Biblio.pm
index eafb67bdf9..b3a95b898c 100644
--- a/C4/Biblio.pm
+++ b/C4/Biblio.pm
@@ -132,17 +132,12 @@ BEGIN {
}
eval {
- my $servers = C4::Context->config('memcached_servers');
- if ($servers) {
+ if (C4::Context->ismemcached) {
require Memoize::Memcached;
import Memoize::Memcached qw(memoize_memcached);
- my $memcached = {
- servers => [$servers],
- key_prefix => C4::Context->config('memcached_namespace') || 'koha',
- expire_time => 600
- }; # cache for 10 mins, if you want to cache for different make a different memcached hash
- memoize_memcached( 'GetMarcStructure', memcached => $memcached );
+ memoize_memcached( 'GetMarcStructure',
+ memcached => C4::Context->memcached);
}
};
diff --git a/C4/Context.pm b/C4/Context.pm
index 770973fd1a..53246ec580 100644
--- a/C4/Context.pm
+++ b/C4/Context.pm
@@ -88,6 +88,7 @@ BEGIN {
servers => [ $servers ],
debug => 0,
compress_threshold => 10_000,
+ expire_time => 600,
namespace => $ENV{'MEMCACHED_NAMESPACE'} || 'koha'
});
# Verify memcached available (set a variable and test the output)
@@ -253,6 +254,31 @@ sub read_config_file { # Pass argument naming config file to read
return $koha; # Return value: ref-to-hash holding the configuration
}
+=head2 ismemcached
+
+Returns the value of the $ismemcached variable (0/1)
+
+=cut
+
+sub ismemcached {
+ return $ismemcached;
+}
+
+=head2 memcached
+
+If $ismemcached is true, returns the $memcache variable.
+Returns undef otherwise
+
+=cut
+
+sub memcached {
+ if ($ismemcached) {
+ return $memcached;
+ } else {
+ return undef;
+ }
+}
+
# db_scheme2dbi
# Translates the full text name of a database into de appropiate dbi name
#
diff --git a/C4/Languages.pm b/C4/Languages.pm
index ac5ea551f8..6f269ace46 100644
--- a/C4/Languages.pm
+++ b/C4/Languages.pm
@@ -26,20 +26,13 @@ use C4::Context;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $DEBUG);
eval {
- my $servers = C4::Context->config('memcached_servers');
- if ($servers) {
+ if (C4::Context->ismemcached) {
require Memoize::Memcached;
import Memoize::Memcached qw(memoize_memcached);
- my $memcached = {
- servers => [$servers],
- key_prefix => C4::Context->config('memcached_namespace') || 'koha',
- expire_time => 600
- }; # cache for 10 mins
-
- memoize_memcached( 'getTranslatedLanguages', memcached => $memcached );
- memoize_memcached( 'getFrameworkLanguages', memcached => $memcached );
- memoize_memcached( 'getAllLanguages', memcached => $memcached );
+ memoize_memcached('getTranslatedLanguages', memcached => C4::Context->memcached);
+ memoize_memcached('getFrameworkLanguages' , memcached => C4::Context->memcached);
+ memoize_memcached('getAllLanguages', memcached => C4::Context->memcached);
}
};
diff --git a/etc/koha-conf.xml b/etc/koha-conf.xml
index 686a15b701..f5e2c0ffd6 100644
--- a/etc/koha-conf.xml
+++ b/etc/koha-conf.xml
@@ -275,7 +275,5 @@ __PAZPAR2_TOGGLE_XML_POST__
http://__PAZPAR2_HOST__:__PAZPAR2_PORT__/search.pz2
__MISC_DIR__/koha-install-log
0
- __MEMCACHED_SERVERS__
- __MEMCACHED_NAMESPACE__