Converted all existing uses of cache.

This commit is contained in:
JT Smith 2009-09-25 22:24:33 -05:00
parent af705232a8
commit ccff9c7014
31 changed files with 108 additions and 144 deletions

View file

@ -31,7 +31,6 @@ use WebGUI::AssetVersioning;
use strict;
use Tie::IxHash;
use WebGUI::AdminConsole;
use WebGUI::Cache;
use WebGUI::Form;
use WebGUI::HTML;
use WebGUI::HTMLForm;
@ -1778,8 +1777,7 @@ sub new {
return undef unless $revisionDate;
}
my $cache = WebGUI::Cache->new($session, ["asset",$assetId,$revisionDate]);
my $properties = $cache->get;
my $properties = $session->cache->get(["asset",$assetId,$revisionDate]);
if (exists $properties->{assetId}) {
# got properties from cache
}
@ -2345,10 +2343,11 @@ sub publish {
my $idList = $self->session->db->quoteAndJoin($assetIds);
$self->session->db->write("update asset set state='published', stateChangedBy=".$self->session->db->quote($self->session->user->userId).", stateChanged=".$self->session->datetime->time()." where assetId in (".$idList.")");
my $cache = WebGUI::Cache->new($self->session);
foreach my $id (@{$assetIds}) {
# we do the purge directly cuz it's a lot faster than instantiating all these assets
$cache->deleteChunk(["asset",$id]);
my $asset = WebGUI::Asset->newByDynamicClass($self->session, $id);
if (defined $asset) {
$asset->purgeCache;
}
}
$self->{_properties}{state} = "published";
@ -2378,7 +2377,7 @@ sub purgeCache {
$stow->delete('assetLineage');
$stow->delete('assetClass');
$stow->delete('assetRevision');
WebGUI::Cache->new($self->session,["asset",$self->getId,$self->get("revisionDate")])->deleteChunk(["asset",$self->getId]);
$self->session->cache->delete(["asset",$self->getId,$self->get("revisionDate")]);
}

View file

@ -17,7 +17,6 @@ package WebGUI::Asset::File;
use strict;
use base 'WebGUI::Asset';
use Carp;
use WebGUI::Cache;
use WebGUI::Storage;
use WebGUI::SQL;
use WebGUI::Utility;
@ -448,7 +447,7 @@ Extends the master method to clear the view cache.
sub purgeCache {
my $self = shift;
WebGUI::Cache->new($self->session,"view_".$self->getId)->delete;
$self->session->cache->delete("view_".$self->getId);
$self->SUPER::purgeCache;
}
@ -608,7 +607,7 @@ Generate the view method for the Asset, and handle caching.
sub view {
my $self = shift;
if (!$self->session->var->isAdminOn && $self->get("cacheTimeout") > 10) {
my $out = WebGUI::Cache->new($self->session,"view_".$self->getId)->get;
my $out = $self->session->cache->get("view_".$self->getId);
return $out if $out;
}
my %var = %{$self->get};
@ -618,7 +617,7 @@ sub view {
$var{fileSize} = formatBytes($self->get("assetSize"));
my $out = $self->processTemplate(\%var,undef,$self->{_viewTemplate});
if (!$self->session->var->isAdminOn && $self->get("cacheTimeout") > 10) {
WebGUI::Cache->new($self->session,"view_".$self->getId)->set($out,$self->get("cacheTimeout"));
$self->session->cache->set("view_".$self->getId, $out, $self->get("cacheTimeout"));
}
return $out;
}

View file

@ -222,8 +222,9 @@ Renders this asset.
sub view {
my $self = shift;
my $cache = $self->session->cache;
if (!$self->session->var->isAdminOn && $self->get("cacheTimeout") > 10) {
my $out = WebGUI::Cache->new($self->session,"view_".$self->getId)->get;
my $out = $cache->get("view_".$self->getId);
return $out if $out;
}
my %var = %{$self->get};
@ -247,7 +248,7 @@ sub view {
my $form = $self->session->form;
my $out = $self->processTemplate(\%var,undef,$self->{_viewTemplate});
if (!$self->session->var->isAdminOn && $self->get("cacheTimeout") > 10) {
WebGUI::Cache->new($self->session,"view_".$self->getId)->set($out,$self->get("cacheTimeout"));
$cache->set("view_".$self->getId, $out, $self->get("cacheTimeout"));
}
return $out;
}
@ -310,16 +311,7 @@ sub www_undo {
my $previous = (@{$self->getRevisions()})[1];
# instantiate assetId
if ($previous) {
# my $session = $self->session;
# my $cache = WebGUI::Cache->new($self->session, ["asset",$self->getId,$self->getRevisionDate]);
# $cache->flush;
# my $cache = WebGUI::Cache->new($previous->session, ["asset",$previous->getId,$previous->getRevisionDate]);
# $cache->flush;
$self = $self->purgeRevision();
# $self = undef;
# $self = WebGUI::Asset->new($previous->session, $previous->getId, ref $previous, $previous->getRevisionDate);
$self = $previous;
$self->generateThumbnail;
}

View file

@ -220,8 +220,9 @@ used to show the file to administrators.
sub view {
my $self = shift;
my $cache = $self->session->cache;
if (!$self->session->var->isAdminOn && $self->get("cacheTimeout") > 10) {
my $out = WebGUI::Cache->new($self->session,"view_".$self->getId)->get;
my $out = $cache->get("view_".$self->getId);
return $out if $out;
}
my %var = %{$self->get};
@ -244,7 +245,7 @@ sub view {
$var{noFileSpecified} = $i18n->get('noFileSpecified');
my $out = $self->processTemplate(\%var,undef,$self->{_viewTemplate});
if (!$self->session->var->isAdminOn && $self->get("cacheTimeout") > 10) {
WebGUI::Cache->new($self->session,"view_".$self->getId)->set($out,$self->get("cacheTimeout"));
$cache->set("view_".$self->getId, $out, $self->get("cacheTimeout"));
}
return $out;
}

View file

@ -16,7 +16,6 @@ use Tie::IxHash;
use WebGUI::Asset;
use WebGUI::Asset::Template;
use WebGUI::Asset::Post::Thread;
use WebGUI::Cache;
use WebGUI::Group;
use WebGUI::HTML;
use WebGUI::HTMLForm;
@ -1188,7 +1187,7 @@ Extend the base class to handle caching.
sub purgeCache {
my $self = shift;
WebGUI::Cache->new($self->session,"view_".$self->getThread->getId)->delete if ($self->getThread);
$self->session->cache->delete("view_".$self->getThread->getId) if ($self->getThread);
$self->SUPER::purgeCache;
}

View file

@ -13,7 +13,6 @@ package WebGUI::Asset::Post::Thread;
use strict;
use WebGUI::Asset::Template;
use WebGUI::Asset::Post;
use WebGUI::Cache;
use WebGUI::Group;
use WebGUI::International;
use WebGUI::Paginator;
@ -1026,8 +1025,9 @@ sub view {
my $currentPost = shift || $self;
$self->markRead;
$self->incrementViews unless ($self->session->form->process("func") eq 'rate');
my $cache = $self->session->cache;
if ($self->session->user->isVisitor && !$self->session->form->process("layout")) {
my $out = WebGUI::Cache->new($self->session,"view_".$self->getId)->get;
my $out = $cache->get("view_".$self->getId);
return $out if $out;
}
$self->session->scratch->set("discussionLayout",$self->session->form->process("layout")) if ($self->session->form->process("layout"));
@ -1134,7 +1134,7 @@ sub view {
my $out = $self->processTemplate($var,undef,$self->{_viewTemplate});
if ($self->session->user->isVisitor && !$self->session->form->process("layout")) {
WebGUI::Cache->new($self->session,"view_".$self->getId)->set($out,$self->getThread->getParent->get("visitorCacheTimeout"));
$cache->set("view_".$self->getId, $out, $self->getThread->getParent->get("visitorCacheTimeout"));
}
return $out;
}

View file

@ -481,10 +481,10 @@ expired, or if the user's profile field has changed.
sub getOverrides {
my $self = shift;
my $session = $self->session;
my $cache = WebGUI::Cache->new($self->session,$self->_overridesCacheTag);
my $cache = $session->cache;
my $u = WebGUI::User->new($self->session, $self->discernUserId);
my $overridesRef = $cache->get;
my $overridesRef = $cache->get($self->_overridesCacheTag);
##If admin mode is not on, and the cache is valid, and not expired, and the user object was not updated,
##return the cached value.
if ( ! $session->var->isAdminOn
@ -532,7 +532,7 @@ sub getOverrides {
}
}
$overrides{userLastUpdated} = $session->user->get('lastUpdated');
$cache->set(\%overrides, 60*60);
$cache->set($self->_overridesCacheTag, \%overrides, 60*60);
$overridesRef = \%overrides;
return %{ $overridesRef };
}
@ -879,7 +879,7 @@ Delete any cached overrides.
sub uncacheOverrides {
my $self = shift;
WebGUI::Cache->new($self->session,$self->_overridesCacheTag)->delete;
$self->session->cache->delete($self->_overridesCacheTag);
}
#-------------------------------------------------------------------

View file

@ -13,7 +13,6 @@ package WebGUI::Asset::Sku::Product;
use strict;
use Tie::CPHash;
use Tie::IxHash;
use WebGUI::Cache;
use WebGUI::HTMLForm;
use WebGUI::Storage;
use WebGUI::SQL;
@ -789,7 +788,7 @@ Extends the base class to handle cleaning up the cache for this asset.
sub purgeCache {
my $self = shift;
WebGUI::Cache->new($self->session,"view_".$self->getId)->delete;
$self->session->cache->delete("view_".$self->getId);
$self->SUPER::purgeCache;
}
@ -1674,8 +1673,9 @@ sub view {
my $self = shift;
my $error = shift;
my $session = $self->session;
my $cache = $session->cache;
if (!$session->var->isAdminOn && $self->get("cacheTimeout") > 10){
my $out = WebGUI::Cache->new($self->session,"view_".$self->getId)->get;
my $out = $cache->get("view_".$self->getId);
return $out if $out;
}
my (%data, $segment, %var, @featureloop, @benefitloop, @specificationloop, @accessoryloop, @relatedloop);
@ -1878,7 +1878,7 @@ sub view {
my $out = $self->processTemplate(\%var,undef,$self->{_viewTemplate});
if (!$self->session->var->isAdminOn && $self->get("cacheTimeout") > 10 && $self->{_hasAddedToCart} != 1){
WebGUI::Cache->new($self->session,"view_".$self->getId)->set($out,$self->get("cacheTimeout"));
$cache->set("view_".$self->getId, $out, $self->get("cacheTimeout"));
}
return $out;
}

View file

@ -250,9 +250,9 @@ Extending purgeCache to handle caching of the rendered snippet
sub purgeCache {
my $self = shift;
WebGUI::Cache->new($self->session,"view__".$self->getId)->delete;
WebGUI::Cache->new($self->session,"view_1_".$self->getId)->delete;
my $self->session->cache;
$cache->delete("view__".$self->getId);
$cache->delete("view_1_".$self->getId);
$self->SUPER::purgeCache();
}
@ -279,7 +279,7 @@ sub view {
|| $self->get("cacheTimeout") <= 10
|| ($versionTag && $versionTag->getId eq $self->get("tagId"));
unless ($noCache) {
my $out = WebGUI::Cache->new($session,"view_".$calledAsWebMethod."_".$self->getId)->get;
my $out = $session->cache("view_".$calledAsWebMethod."_".$self->getId);
return $out if $out;
}
my $output = $self->get('usePacked')
@ -292,7 +292,7 @@ sub view {
}
WebGUI::Macro::process($session,\$output);
unless ($noCache) {
WebGUI::Cache->new($session,"view_".$calledAsWebMethod."_".$self->getId)->set($output,$self->get("cacheTimeout"));
$session->cache->set("view_".$calledAsWebMethod."_".$self->getId, $output, $self->get("cacheTimeout"));
}
return $output;
}

View file

@ -13,7 +13,6 @@ package WebGUI::Asset::Wobject::Article;
use strict;
use Tie::IxHash;
use WebGUI::International;
use WebGUI::Cache;
use WebGUI::Paginator;
use WebGUI::Asset::Wobject;
use WebGUI::Storage;
@ -319,7 +318,7 @@ See WebGUI::Asset::purgeCache() for details.
sub purgeCache {
my $self = shift;
WebGUI::Cache->new($self->session,"view_".$self->getId)->delete;
$self->session->cache->delete("view_".$self->getId);
$self->SUPER::purgeCache;
}
@ -348,9 +347,10 @@ returns the output.
sub view {
my $self = shift;
my $cache = $self->session->cache;
if (!$self->session->var->isAdminOn && $self->get("cacheTimeout") > 10 && !$self->session->form->process("overrideTemplateId") &&
!$self->session->form->process($self->paginateVar) && !$self->session->form->process("makePrintable")) {
my $out = WebGUI::Cache->new($self->session,"view_".$self->getId)->get;
my $out = $cache->get("view_".$self->getId);
return $out if $out;
}
my %var;
@ -414,7 +414,7 @@ sub view {
my $out = $self->processTemplate(\%var,undef,$self->{_viewTemplate});
if (!$self->session->var->isAdminOn && $self->get("cacheTimeout") > 10 && !$self->session->form->process("overrideTemplateId") &&
!$self->session->form->process($self->paginateVar) && !$self->session->form->process("makePrintable")) {
WebGUI::Cache->new($self->session,"view_".$self->getId)->set($out,$self->get("cacheTimeout"));
$cache->set("view_".$self->getId, $out, $self->get("cacheTimeout"));
}
return $out;
}

View file

@ -13,7 +13,6 @@ package WebGUI::Asset::Wobject::Collaboration;
use strict;
use Tie::IxHash;
use WebGUI::Group;
use WebGUI::Cache;
use WebGUI::HTML;
use WebGUI::International;
use WebGUI::Paginator;
@ -1404,8 +1403,9 @@ Extend the base method to delete view and visitor caches.
sub purgeCache {
my $self = shift;
WebGUI::Cache->new($self->session,"view_".$self->getId)->delete;
WebGUI::Cache->new($self->session,$self->_visitorCacheKey)->delete;
my $cache = $self->session->cache;
$cache->delete("view_".$self->getId);
$cache->delete($self->_visitorCacheKey);
$self->next::method;
}
@ -1549,8 +1549,9 @@ Render the CS, and handle local caching.
sub view {
my $self = shift;
my $cache = $self->session->cache;
if ($self->_visitorCacheOk) {
my $out = WebGUI::Cache->new($self->session,$self->_visitorCacheKey)->get;
my $out = $cache->get($self->_visitorCacheKey);
$self->session->errorHandler->debug("HIT") if $out;
return $out if $out;
}
@ -1561,7 +1562,7 @@ sub view {
$self->prepareView unless ($self->{_viewTemplate});
my $out = $self->processTemplate($self->getViewTemplateVars,undef,$self->{_viewTemplate});
if ($self->_visitorCacheOk) {
WebGUI::Cache->new($self->session,$self->_visitorCacheKey)->set($out,$self->get("visitorCacheTimeout"));
$cache->set($self->_visitorCacheKey, $out, $self->get("visitorCacheTimeout"));
}
return $out;
}

View file

@ -25,7 +25,6 @@ use WebGUI::Asset::Sku::EMSBadge;
use WebGUI::Asset::Sku::EMSTicket;
use WebGUI::Asset::Sku::EMSRibbon;
use WebGUI::Asset::Sku::EMSToken;
use WebGUI::Cache;
use WebGUI::Exception;
use WebGUI::FormValidator;
use WebGUI::HTMLForm;

View file

@ -16,7 +16,6 @@ package WebGUI::Asset::Wobject::Folder;
use strict;
use WebGUI::Asset::Wobject;
use WebGUI::Cache;
use WebGUI::Utility;
our @ISA = qw(WebGUI::Asset::Wobject);
@ -208,7 +207,7 @@ See WebGUI::Asset::purgeCache() for details.
sub purgeCache {
my $self = shift;
WebGUI::Cache->new($self->session,"view_".$self->getId)->delete;
$self->session->cache->delete("view_".$self->getId);
$self->SUPER::purgeCache;
}
@ -225,8 +224,9 @@ sub view {
my $self = shift;
# Use cached version for visitors
my $cache = $self->session->cache;
if ($self->session->user->isVisitor) {
my $out = WebGUI::Cache->new($self->session,"view_".$self->getId)->get;
my $out = $cache->get("view_".$self->getId);
return $out if $out;
}
@ -291,8 +291,7 @@ sub view {
# Update the cache
if ($self->session->user->isVisitor) {
WebGUI::Cache->new($self->session,"view_".$self->getId)
->set($out,$self->get("visitorCacheTimeout"));
$cache->set("view_".$self->getId, $out, $self->get("visitorCacheTimeout"));
}
return $out;

View file

@ -20,7 +20,6 @@ use WebGUI::International;
use WebGUI::Storage;
use WebGUI::Asset::Wobject;
use WebGUI::Asset::Wobject::HttpProxy::Parse;
use WebGUI::Cache;
use WebGUI::Macro;
use Apache2::Upload;
@ -277,8 +276,9 @@ See WebGUI::Asset::purgeCache() for details.
sub purgeCache {
my $self = shift;
WebGUI::Cache->new($self->session,$self->get("proxiedUrl"),"URL")->delete;
WebGUI::Cache->new($self->session,$self->get("proxiedUrl"),"HEADER")->delete;
my $cache = $self->session->cache;
$cache->delete([$self->get("proxiedUrl"),"URL"]);
$cache->delete([$self->get("proxiedUrl"),"HEADER"]);
$self->SUPER::purgeCache;
}
@ -320,12 +320,11 @@ sub view {
my $requestMethod = $self->session->env->get("REQUEST_METHOD") || "GET";
### Do we have cached content to get?
my $cacheContent = WebGUI::Cache->new($self->session,$proxiedUrl,"URL");
my $cacheHeader = WebGUI::Cache->new($self->session,$proxiedUrl,"HEADER");
my $cache = $self->session->cache;
if ($requestMethod =~ /^GET$/i)
{
$var{header} = $cacheHeader->get;
$var{content} = $cacheContent->get;
$var{header} = $cache->get([$proxiedUrl,'HEADER']);
$var{content} = $cache->get([$proxiedUrl,"URL"]);
}
# Unless we have cached content
@ -465,8 +464,8 @@ sub view {
$var{content} = sprintf $i18n->get('fetch page error'), $proxiedUrl, $proxiedUrl, $response->status_line;
}
unless ($self->get("cacheTimeout") <= 10) {
$cacheContent->set($var{content},$self->get("cacheTimeout"));
$cacheHeader->set($var{header},$self->get("cacheTimeout"));
$cache->set([$proxiedUrl,'URL'], $var{content}, $self->get("cacheTimeout"));
$cache->set([$proxiedUrl,'HEADER'], $var{header}, $self->get("cacheTimeout"));
}
}

View file

@ -18,7 +18,6 @@ use strict;
use WebGUI::AdSpace;
use WebGUI::Asset::Wobject;
use WebGUI::Utility;
use WebGUI::Cache;
our @ISA = qw(WebGUI::Asset::Wobject);
@ -413,13 +412,13 @@ sub www_view {
if ($session->env->sslRequest) {
$cacheKey .= '_ssl';
}
my $cache = WebGUI::Cache->new($session, $cacheKey);
my $out = $cache->get if defined $cache;
my $cache = $session->cache;
my $out = $cache->get($cacheKey);
unless ($out) {
$self->prepareView;
$session->stow->set("cacheFixOverride", 1);
$out = $self->processStyle($self->view, { noHeadTags => 1 });
$cache->set($out, 60);
$cache->set($cacheKey, $out, 60);
$session->stow->delete("cacheFixOverride");
}
# keep those ads rotating even though the output is cached

View file

@ -505,8 +505,9 @@ sub getListings {
$session->var->isAdminOn
|| $self->get("listingsCacheTimeout") <= 10
|| ($versionTag && $versionTag->getId eq $self->get("tagId"));
my $cache = $session->cache;
unless ($noCache) {
$listingsEncoded = WebGUI::Cache->new($session,"matrixListings_".$self->getId)->get;
$listingsEncoded = $cache->get("matrixListings_".$self->getId);
}
if ($listingsEncoded){
@ -546,9 +547,7 @@ assetData.revisionDate
}
$listingsEncoded = JSON->new->encode($listings);
WebGUI::Cache->new($session,"matrixListings_".$self->getId)->set(
$listingsEncoded,$self->get("listingsCacheTimeout")
);
$cache->set("matrixListings_".$self->getId, $listingsEncoded, $self->get("listingsCacheTimeout"));
}
return $listings;
}
@ -687,8 +686,9 @@ sub view {
$session->var->isAdminOn
|| $self->get("statisticsCacheTimeout") <= 10
|| ($versionTag && $versionTag->getId eq $self->get("tagId"));
my $cache = $session->cache;
unless ($noCache) {
$varStatisticsEncoded = WebGUI::Cache->new($session,"matrixStatistics_".$self->getId)->get;
$varStatisticsEncoded = $cache->get("matrixStatistics_".$self->getId);
}
if ($varStatisticsEncoded){
@ -837,9 +837,7 @@ sub view {
[$self->getId]);
$varStatisticsEncoded = JSON->new->encode($varStatistics);
WebGUI::Cache->new($session,"matrixStatistics_".$self->getId)->set(
$varStatisticsEncoded,$self->get("statisticsCacheTimeout")
);
$cache->set("matrixStatistics_".$self->getId, $varStatisticsEncoded, $self->get("statisticsCacheTimeout"));
}
foreach my $statistic (keys %{$varStatistics}) {

View file

@ -12,7 +12,6 @@ package WebGUI::Asset::Wobject::MessageBoard;
use strict;
use Tie::IxHash;
use WebGUI::Cache;
use WebGUI::Asset::Wobject;
use WebGUI::International;
use WebGUI::SQL;
@ -91,7 +90,7 @@ See WebGUI::Asset::purgeCache() for details.
sub purgeCache {
my $self = shift;
WebGUI::Cache->new($self->session,"view_".$self->getId)->delete;
$self->session->cache->delete("view_".$self->getId);
$self->SUPER::purgeCache;
}
@ -105,8 +104,9 @@ See WebGUI::Asset::view() for details.
sub view {
my $self = shift;
my $cache = $self->session->cache;
if ($self->session->user->isVisitor) {
my $out = WebGUI::Cache->new($self->session,"view_".$self->getId)->get;
my $out = $cache->get("view_".$self->getId);
return $out if $out;
}
my %var;
@ -171,7 +171,7 @@ sub view {
my $out = $self->processTemplate(\%var,undef,$self->{_viewTemplate});
if ($self->session->user->isVisitor) {
WebGUI::Cache->new($self->session,"view_".$self->getId)->set($out,$self->get("visitorCacheTimeout"));
$cache->set("view_".$self->getId, $out, $self->get("visitorCacheTimeout"));
}
return $out;
}

View file

@ -24,7 +24,6 @@ use Tie::IxHash;
use JSON;
use WebGUI::International;
use WebGUI::SQL;
use WebGUI::Cache;
use WebGUI::Asset::Wobject;
use WebGUI::Utility;
@ -114,7 +113,7 @@ See WebGUI::Asset::purgeCache() for details.
sub purgeCache {
my $self = shift;
WebGUI::Cache->new($self->session,"view_".$self->getId)->delete;
$self->session->cache->delete("view_".$self->getId);
$self->SUPER::purgeCache;
}
@ -129,8 +128,9 @@ to be displayed within the page style
sub view {
my $self = shift;
my $cache = $self->session->cache;
if (!$self->session->var->isAdminOn && $self->get("cacheTimeout") > 10) {
my $out = WebGUI::Cache->new($self->session,"view_".$self->getId)->get;
my $out = $cache->get("view_".$self->getId);
return $out if $out;
}
my $i18n = WebGUI::International->new($self->session, 'Asset_MultiSearch');
@ -143,7 +143,7 @@ sub view {
my $out = $self->processTemplate(\%var,undef,$self->{_viewTemplate});
if (!$self->session->var->isAdminOn && $self->get("cacheTimeout") > 10) {
WebGUI::Cache->new($self->session,"view_".$self->getId)->set($out,$self->get("cacheTimeout"));
$cache->set("view_".$self->getId, $out, $self->get("cacheTimeout"));
}
return $out;
}

View file

@ -18,7 +18,6 @@ use WebGUI::Paginator;
use WebGUI::SQL;
use WebGUI::Utility;
use WebGUI::Asset::Wobject;
use WebGUI::Cache;
use WebGUI::Text qw(:csv);
our @ISA = qw(WebGUI::Asset::Wobject);
@ -518,7 +517,7 @@ See WebGUI::Asset::purgeCache() for details.
sub purgeCache {
my $self = shift;
WebGUI::Cache->new($self->session,"view_".$self->getId)->delete;
$self->session->cache->delete("view_".$self->getId);
$self->SUPER::purgeCache;
}
@ -533,8 +532,9 @@ if the user is not in Admin Mode.
sub view {
my $self = shift;
my $cache = $self->session->cache;
if (!$self->session->var->isAdminOn && $self->get("cacheTimeout") > 10) {
my $out = WebGUI::Cache->new($self->session,"view_".$self->getId)->get;
my $out = $cache->get("view_".$self->getId);
return $out if $out;
}
# Initiate an empty debug loop
@ -560,7 +560,7 @@ sub view {
my $out = $self->processTemplate($var,undef,$self->{_viewTemplate});
if (!$self->session->var->isAdminOn && $self->get("cacheTimeout") > 10) {
WebGUI::Cache->new($self->session,"view_".$self->getId)->set($out,$self->get("cacheTimeout"));
$cache->set("view_".$self->getId, $out, $self->get("cacheTimeout"));
}
return $out;
}

View file

@ -1378,7 +1378,6 @@ See WebGUI::Asset::purgeCache() for details.
sub purgeCache {
my $self = shift;
WebGUI::Cache->new( $self->session, 'view_' . $self->getId )->delete;
return $self->SUPER::purgeCache;
}

View file

@ -13,7 +13,6 @@ package WebGUI::Asset::Wobject::SyndicatedContent;
use strict;
use HTML::Entities;
use Tie::IxHash;
use WebGUI::Cache;
use WebGUI::Exception;
use WebGUI::HTML;
use WebGUI::International;
@ -136,16 +135,16 @@ sub generateFeed {
# build one feed out of many
my $newlyCached = 0;
my $cache = $self->session->cache;
foreach my $url (split(/\s+/, $self->get('rssUrl'))) {
$log->info("Processing FEED: ".$url);
$url =~ s/^feed:/http:/;
if ($self->get('processMacroInRssUrl')) {
WebGUI::Macro::process($self->session, \$url);
}
my $cache = WebGUI::Cache->new($self->session, $url, "RSS");
my $value = $cache->get;
my $value = $cache->get($url);
unless ($value) {
$value = $cache->setByHTTP($url, $self->get("cacheTimeout"));
$value = $cache->setByHttp($url, $url, $self->get("cacheTimeout"));
$newlyCached = 1;
}
# if the content can be downgraded, it is either valid latin1 or didn't have
@ -328,7 +327,7 @@ See WebGUI::Asset::purgeCache() for details.
sub purgeCache {
my $self = shift;
WebGUI::Cache->new($self->session,"view_".$self->getId)->delete;
$self->session->cache->delete("view_".$self->getId);
$self->next::method;
}
@ -345,8 +344,8 @@ sub view {
my $session = $self->session;
# try the cached version
my $cache = WebGUI::Cache->new($session,"view_".$self->getId);
my $out = $cache->get;
my $cache = $session->cache;
my $out = $cache->get("view_".$self->getId);
return $out if ($out ne "" && !$session->var->isAdminOn);
#return $out if $out;
@ -354,7 +353,7 @@ sub view {
my $feed = $self->generateFeed;
$out = $self->processTemplate($self->getTemplateVariables($feed),undef,$self->{_viewTemplate});
if (!$session->var->isAdminOn && $self->get("cacheTimeout") > 10) {
$cache->set($out,$self->get("cacheTimeout"));
$cache->set("view_".$self->getId, $out, $self->get("cacheTimeout"));
}
return $out;
}

View file

@ -2662,7 +2662,7 @@ sub www_export {
push(@fieldLabels,@metaDataFields)
}
$query = WebGUI::Cache->new($self->session,"query_".$thingId)->get;
$query = $session->cache->get("query_".$thingId);
$sth = $session->db->read($query);
### Loop through the returned structure and put it through Text::CSV
@ -3307,7 +3307,7 @@ sequenceNumber');
}
# store query in cache for thirty minutes
WebGUI::Cache->new($self->session,"query_".$thingId)->set($query,30*60);
$self->session->cache->set("query_".$thingId, $query, 30*60);
$paginatePage = $self->session->form->param('pn') || 1;
$currentUrl = $self->session->url->append($currentUrl, "orderBy=".$orderBy) if $orderBy;

View file

@ -147,9 +147,8 @@ sub cascadeLineage {
"UPDATE asset SET lineage=CONCAT(?,SUBSTRING(lineage,?)) WHERE lineage LIKE ?",
[$newLineage, length($oldLineage) + 1, $oldLineage . '%']
);
my $cache = WebGUI::Cache->new($self->session);
if ($records > 20) {
$cache->flush;
$self->session->cache->flush;
}
else {
my $descendants = $self->session->db->read("SELECT assetId FROM asset WHERE lineage LIKE ?", [$newLineage . '%']);

View file

@ -191,7 +191,6 @@ sub purge {
# clean up cache
$outputSub->($i18n->get('Clearing cache'));
WebGUI::Cache->new($session)->deleteChunk(["asset",$self->getId]);
$self->purgeCache;
# delete stuff out of the asset tables

View file

@ -127,7 +127,7 @@ not be added to any group. Groups may not be added to themselves.
sub addGroups {
my $self = shift;
my $groups = shift;
WebGUI::Cache->new($self->session, $self->getId)->delete;
$self->session->cache->delete($self->getId);
GROUP: foreach my $gid (@{$groups}) {
next if ($gid eq '1');
next if ($gid eq $self->getId);
@ -232,12 +232,14 @@ sub clearCaches {
my $self = shift;
##Clear my cache and the cache of all groups above me.
my $groups = $self->getAllGroupsFor();
my $cache = $self->session->cache;
foreach my $group ( $self->getId, @{ $groups } ) {
WebGUI::Cache->new($self->session, $group)->delete;
$cache->delete($group);
}
$self->session->stow->delete("groupObj");
$self->session->stow->delete("isInGroup");
$self->session->stow->delete("gotGroupsInGroup");
my $stow = $self->session->stow;
$stow->delete("groupObj");
$stow->delete("isInGroup");
$stow->delete("gotGroupsInGroup");
}
#-------------------------------------------------------------------
@ -560,8 +562,8 @@ sub getAllUsers {
my $withoutExpired = shift;
my $loopCount = shift;
my $expireTime = 0;
my $cache = WebGUI::Cache->new($self->session, $self->getId);
my $value = $cache->get;
my $cache = $self->session->cache;
my $value = $cache->get($self->getId);
return $value if defined $value;
my @users = ();
push @users,
@ -586,7 +588,7 @@ sub getAllUsers {
}
my %users = map { $_ => 1 } @users;
@users = keys %users;
$cache->set(\@users, $self->groupCacheTimeout);
$cache->set($self->getId, \@users, $self->groupCacheTimeout);
return \@users;
}

View file

@ -12,7 +12,6 @@ package WebGUI::Operation::Cache;
use strict;
use WebGUI::AdminConsole;
use WebGUI::Cache;
use WebGUI::International;
use WebGUI::Form;
@ -93,7 +92,7 @@ sub www_flushCache {
return $session->privilege->adminOnly unless canView($session);
# Flush the cache
WebGUI::Cache->new($session)->flush;
$session->cache->flush;
return www_manageCache($session);
}
@ -110,20 +109,15 @@ provides an option to clear the cache.
sub www_manageCache {
my $session = shift;
return $session->privilege->adminOnly unless canView($session);
my $cache = WebGUI::Cache->new($session);
my $flushURL = $session->url->page('op=flushCache');
my $i18n = WebGUI::International->new($session);
my $output
= '<table>'
. '<tr><td align="right" class="tableHeader">'.$i18n->get('cache type').':</td><td class="tableData">'.ref($cache).'</td></tr>'
. '<tr><td align="right" valign="top" class="tableHeader">'.$i18n->get('cache statistics').':</td><td class="tableData"><pre>'.$cache->stats.'</pre></td></tr>'
. '<tr><td align="right" valign="top" class="tableHeader">&nbsp;</td><td class="tableData">'
. WebGUI::Form::button($session, {
my $output =
WebGUI::Form::formHeader($session);
.WebGUI::Form::button($session, {
value => $i18n->get("clear cache"),
extras => qq{onclick="document.location.href='$flushURL';"},
})
. '</td></tr>'
. '</table>'
.WebGUI::Form::formFooter($session);
;
return _submenu($session,$output);

View file

@ -726,8 +726,7 @@ sub www_saveSettings {
$session->db->write(
"UPDATE userProfileData SET showMessageOnLoginSeen=0"
);
# Delete the user cache
WebGUI::Cache->new( $session, [ "user" ] )->deleteChunk( [ "user" ] );
$session->cache->flush;
}
return www_editSettings($session, { errors => \@errors, message => $i18n->get("editSettings done") });

View file

@ -12,7 +12,6 @@ package WebGUI::Operation::Statistics;
use strict;
use WebGUI::AdminConsole;
use WebGUI::Cache;
use WebGUI::International;
use WebGUI::Workflow::Cron;
use WebGUI::DateTime;
@ -180,10 +179,10 @@ sub www_viewStatistics {
my ($output, $data);
my $i18n = WebGUI::International->new($session);
my $url = "http://update.webgui.org/latest-version.txt";
my $cache = WebGUI::Cache->new($session,$url,"URL");
my $version = $cache->get;
my $cache = $session->cache;
my $version = $cache->get($url);
if (not defined $version) {
$version = $cache->setByHTTP($url,43200);
$version = $cache->setByHttp($url, $url, 43200);
}
chomp $version;
$output .= '<table>';

View file

@ -15,6 +15,7 @@ package WebGUI::Session;
=cut
use strict;
use WebGUI::Cache;
use WebGUI::Config;
use WebGUI::SQL;
use WebGUI::User;

View file

@ -15,7 +15,6 @@ package WebGUI::User;
=cut
use strict;
use WebGUI::Cache;
use WebGUI::Group;
use WebGUI::DatabaseLink;
use WebGUI::Exception;
@ -282,13 +281,12 @@ Saves the user object into the cache.
sub cache {
my $self = shift;
my $cache = WebGUI::Cache->new($self->session,["user",$self->userId]);
# copy user object
my %userData;
for my $k (qw(_userId _user _profile)) {
$userData{$k} = $self->{$k};
}
$cache->set(\%userData, 60*60*24);
$self->session->cache->set(["user",$self->userId], \%userData, 60*60*24);
}
#-------------------------------------------------------------------
@ -1062,8 +1060,7 @@ sub new {
my $userId = shift || 1;
my $overrideId = shift;
$userId = _create($session, $overrideId) if ($userId eq "new");
my $cache = WebGUI::Cache->new($session,["user",$userId]);
my $self = $cache->get || {};
my $self = $session->cache->get(["user",$userId]) || {};
bless $self, $class;
$self->{_session} = $session;
unless ($self->{_userId} && $self->{_user}{username}) {
@ -1337,8 +1334,7 @@ Deletes this user object out of the cache.
sub uncache {
my $self = shift;
my $cache = WebGUI::Cache->new($self->session,["user",$self->userId]);
$cache->delete;
$self->session->cache->delete(["user",$self->userId]);
}
#----------------------------------------------------------------------------

View file

@ -3463,14 +3463,6 @@ a user.|,
message => q|Cache|,
lastUpdated => 1031514049
},
'cache type' => {
message => q|Cache type|,
lastUpdated => 1031514049
},
'cache statistics' => {
message => q|Cache Statistics|,
lastUpdated => 1031514049
},
'clear cache' => {
message => q|Clear Cache|,
lastUpdated => 1031514049