Update of /cvs/scoop/scoop/lib
In directory lithium.sabren.com:/tmp/cvs-serv3971/lib
Modified Files:
Scoop.pm
Log Message:
Checking in code to use memcached with Scoop instead of the native caching system. -j
Index: Scoop.pm
===================================================================
RCS file: /cvs/scoop/scoop/lib/Scoop.pm,v
retrieving revision 1.144
retrieving revision 1.145
diff -C2 -d -r1.144 -r1.145
*** Scoop.pm 8 Feb 2006 03:42:02 -0000 1.144
--- Scoop.pm 26 Apr 2006 20:56:47 -0000 1.145
***************
*** 94,97 ****
--- 94,100 ----
# Set this site's cache namespace
$self->_set_cache();
+
+ # and set up the memcached object
+ $self->_set_memcached();
# set the session object
***************
*** 182,185 ****
--- 185,189 ----
sub currtheme { return $_[0]->{THEME} }
sub cache { return $_[0]->{CACHE} }
+ sub memcached { return $_[0]->{MEMCACHED} }
sub boxes { return $_[0]->{BOXES} }
sub handler { return $_[0]->{HANDLER} }
***************
*** 518,522 ****
$self->{BOXES} = 'Scoop::BOXES::'.$self->{CONFIG}->{site_id};
- #warn "Box namespace is $self->{BOXES}\n";
return;
}
--- 522,525 ----
***************
*** 526,530 ****
my $time = time();
! if (my $cached = $self->cache->fetch_data({resource => 'boxes',
element => 'BOXES'})) {
$self->{BOX_DATA} = $cached;
--- 529,533 ----
my $time = time();
! if (my $cached = $self->cache->fetch_data({resource => "boxes",
element => 'BOXES'})) {
$self->{BOX_DATA} = $cached;
***************
*** 544,550 ****
# And also update the cache
! $self->cache->cache_data({resource => 'boxes',
! element => 'BOXES',
! data => $self->{BOX_DATA}});
# Now do a compile on all the boxes. Whee.
--- 547,551 ----
# And also update the cache
! $self->cache->store("boxes", $self->{BOX_DATA}, '+30m');
# Now do a compile on all the boxes. Whee.
***************
*** 1244,1247 ****
--- 1245,1262 ----
return;
}
+
+ sub _set_memcached {
+ my $self = shift;
+ return '' if !$self->{CONFIG}->{memcached_servers};
+ my $memserv = $self->{CONFIG}->{memcached_servers};
+ my $memcomp = $self->{CONFIG}->{memcached_compress};
+ my @memarr = split /,/, $memserv;
+
+ my $memd = new Cache::Memcached;
+ $memd->set_servers(\@memarr);
+ $memd->set_compress_threshold($memcomp);
+ $self->{MEMCACHED} = $memd;
+ return;
+ }
sub _set_html_checker {