Bug 6193 - Follow up: use SetEnv and remove memcached from koha-conf.xml

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Confirmed that memcached is still being used after the memcached configuration
in koha-conf.xml was removed, and the following two lines were added to
both virtual hosts in koha-httpd.conf:
SetEnv MEMCACHED_SERVERS "127.0.0.1:11211"
SetEnv MEMCACHED_NAMESPACE "KOHA"
This commit is contained in:
Tomas Cohen Arazi 2011-12-30 09:10:36 -03:00 committed by Paul Poulain
parent 39def35275
commit 52afe06ddd
5 changed files with 37 additions and 34 deletions

View File

@ -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

View File

@ -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);
}
};

View File

@ -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
#

View File

@ -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);
}
};

View File

@ -275,7 +275,5 @@ __PAZPAR2_TOGGLE_XML_POST__
<pazpar2url>http://__PAZPAR2_HOST__:__PAZPAR2_PORT__/search.pz2</pazpar2url>
<install_log>__MISC_DIR__/koha-install-log</install_log>
<useldapserver>0</useldapserver><!-- see C4::Auth_with_ldap for extra configs you must add if you want to turn this on -->
<memcached_servers>__MEMCACHED_SERVERS__</memcached_servers>
<memcached_namespace>__MEMCACHED_NAMESPACE__</memcached_namespace>
</config>
</yazgfs>