version 1.587.2.3.2.6, 2005/02/14 02:22:25
|
version 1.587.2.3.2.7, 2005/02/14 03:11:07
|
Line 1028 my %accessed;
|
Line 1028 my %accessed;
|
my $kicks=0; |
my $kicks=0; |
my $hits=0; |
my $hits=0; |
sub devalidate_cache_new { |
sub devalidate_cache_new { |
my ($name,$id) = @_; |
my ($name,$id,$debug) = @_; |
if (0) { &Apache::lonnet::logthis("deleting $name:$id"); } |
if ($debug) { &Apache::lonnet::logthis("deleting $name:$id"); } |
$id=&escape($name.':'.$id); |
$id=&escape($name.':'.$id); |
$memcache->delete($id); |
$memcache->delete($id); |
delete($remembered{$id}); |
delete($remembered{$id}); |
Line 1038 sub devalidate_cache_new {
|
Line 1038 sub devalidate_cache_new {
|
|
|
sub is_cached_new { |
sub is_cached_new { |
my ($name,$id,$debug) = @_; |
my ($name,$id,$debug) = @_; |
$debug=0; |
|
$id=&escape($name.':'.$id); |
$id=&escape($name.':'.$id); |
if (exists($remembered{$id})) { |
if (exists($remembered{$id})) { |
if ($debug) { &Apache::lonnet::logthis("Earyl return $id of $remembered{$id} "); } |
if ($debug) { &Apache::lonnet::logthis("Earyl return $id of $remembered{$id} "); } |
Line 1051 sub is_cached_new {
|
Line 1050 sub is_cached_new {
|
if ($debug) { &Apache::lonnet::logthis("getting $id is not defined"); } |
if ($debug) { &Apache::lonnet::logthis("getting $id is not defined"); } |
return (undef,undef); |
return (undef,undef); |
} |
} |
&make_room($id,$value); |
&make_room($id,$value,$debug); |
if ($value eq '__undef__') { |
if ($value eq '__undef__') { |
if ($debug) { &Apache::lonnet::logthis("getting $id is __undef__"); } |
if ($debug) { &Apache::lonnet::logthis("getting $id is __undef__"); } |
return (undef,1); |
return (undef,1); |
Line 1062 sub is_cached_new {
|
Line 1061 sub is_cached_new {
|
|
|
sub do_cache_new { |
sub do_cache_new { |
my ($name,$id,$value,$time,$debug) = @_; |
my ($name,$id,$value,$time,$debug) = @_; |
$debug=0; |
|
$id=&escape($name.':'.$id); |
$id=&escape($name.':'.$id); |
my $setvalue=$value; |
my $setvalue=$value; |
if (!defined($setvalue)) { |
if (!defined($setvalue)) { |
Line 1070 sub do_cache_new {
|
Line 1068 sub do_cache_new {
|
} |
} |
if ($debug) { &Apache::lonnet::logthis("Setting $id to $value"); } |
if ($debug) { &Apache::lonnet::logthis("Setting $id to $value"); } |
$memcache->set($id,$setvalue,300); |
$memcache->set($id,$setvalue,300); |
&make_room($id,$value); |
&make_room($id,$value,$debug); |
return $value; |
return $value; |
} |
} |
|
|
sub make_room { |
sub make_room { |
my ($id,$value)=@_; |
my ($id,$value,$debug)=@_; |
my $debug=0; |
|
$remembered{$id}=$value; |
$remembered{$id}=$value; |
$accessed{$id}=[&gettimeofday()]; |
$accessed{$id}=[&gettimeofday()]; |
if (scalar(keys(%remembered)) <= $to_remember) { return; } |
if (scalar(keys(%remembered)) <= $to_remember) { return; } |