From 1634607051341f6d348404cd4bc478cf2474a259 Mon Sep 17 00:00:00 2001 From: Thomas Steur Date: Tue, 16 Dec 2014 22:25:51 +0100 Subject: added support for different caching backends such as redis --- core/WidgetsList.php | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'core/WidgetsList.php') diff --git a/core/WidgetsList.php b/core/WidgetsList.php index 943dfceb68..c474061606 100644 --- a/core/WidgetsList.php +++ b/core/WidgetsList.php @@ -8,7 +8,7 @@ */ namespace Piwik; -use Piwik\Cache\PluginAwareStaticCache; +use Piwik\Cache as PiwikCache; use Piwik\Plugin\Report; use Piwik\Plugin\Widgets; @@ -63,9 +63,11 @@ class WidgetsList extends Singleton */ public static function get() { - $cache = self::getCacheForCompleteList(); - if (!self::$listCacheToBeInvalidated && $cache->has()) { - return $cache->get(); + $cache = self::getCacheForCompleteList(); + $cacheId = self::getCacheId(); + + if (!self::$listCacheToBeInvalidated && $cache->contains($cacheId)) { + return $cache->fetch($cacheId); } self::addWidgets(); @@ -83,7 +85,7 @@ class WidgetsList extends Singleton $widgets[$category] = $v; } - $cache->set($widgets); + $cache->save($cacheId, $widgets); self::$listCacheToBeInvalidated = false; return $widgets; @@ -270,11 +272,16 @@ class WidgetsList extends Singleton { self::$widgets = array(); self::$hookCalled = false; - self::getCacheForCompleteList()->clear(); + self::getCacheForCompleteList()->delete(self::getCacheId()); + } + + private static function getCacheId() + { + return CacheId::pluginAware('WidgetsList'); } private static function getCacheForCompleteList() { - return new PluginAwareStaticCache('WidgetsList'); + return PiwikCache::getTransientCache(); } } -- cgit v1.2.3