fix composite cache keys and remove setByHttp

This commit is contained in:
Doug Bell 2010-04-19 14:58:35 -05:00
parent 43413fe75c
commit 92cd204b31
10 changed files with 78 additions and 71 deletions

View file

@ -65,7 +65,7 @@ sub delete {
my $value = delete $self->{_data}{$name};
my $session = $self->session;
my $id = $session->getId;
eval{$session->cache->set(["sessionscratch",$id], $self->{_data}, $session->setting->get('sessionTimeout'))};
eval{$session->cache->set("sessionscratch_".$id, $self->{_data}, $session->setting->get('sessionTimeout'))};
$session->db->write("delete from userSessionScratch where name=? and sessionId=?", [$name, $id]);
return $value;
}
@ -84,7 +84,7 @@ sub deleteAll {
delete $self->{_data};
my $session = $self->session;
my $id = $session->getId;
eval{$session->cache->delete(["sessionscratch",$id])};
eval{$session->cache->delete("sessionscratch_".$id)};
$session->db->write("delete from userSessionScratch where sessionId=?", [$id]);
}
@ -198,7 +198,7 @@ The current session.
sub new {
my ($class, $session) = @_;
my $scratch = eval{$session->cache->get(["sessionscratch",$session->getId])};
my $scratch = eval{$session->cache->get("sessionscratch_".$session->getId)};
unless (ref $scratch eq "HASH") {
$scratch = $session->db->buildHashRef("select name,value from userSessionScratch where sessionId=?",[$session->getId], {noOrder => 1});
}
@ -253,7 +253,7 @@ sub set {
$self->{_data}{$name} = $value;
my $session = $self->session;
my $id = $session->getId;
eval{$session->cache->set(["sessionscratch",$id], $self->{_data}, $session->setting->get('sessionTimeout'))};
eval{$session->cache->set("sessionscratch_".$id, $self->{_data}, $session->setting->get('sessionTimeout'))};
$session->db->write("replace into userSessionScratch (sessionId, name, value) values (?,?,?)", [$id, $name, $value]);
}