From 972b0e25b2e408b54c436db2a54c8023e76e7974 Mon Sep 17 00:00:00 2001 From: Chris Burgess Date: Fri, 10 Aug 2018 09:23:04 +1200 Subject: [PATCH] Avoid calling Cache::cleanKey() twice in quick succession Since this method is performance related and called frequently, no need to recalculate results from preg_replace_callback() with the same inputs. --- CRM/Core/BAO/Cache.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/CRM/Core/BAO/Cache.php b/CRM/Core/BAO/Cache.php index 2b9db063e4..d1f97f63f6 100644 --- a/CRM/Core/BAO/Cache.php +++ b/CRM/Core/BAO/Cache.php @@ -73,7 +73,8 @@ class CRM_Core_BAO_Cache extends CRM_Core_DAO_Cache { $argString = "CRM_CT_{$group}_{$path}_{$componentID}"; if (!array_key_exists($argString, self::$_cache)) { $cache = CRM_Utils_Cache::singleton(); - self::$_cache[$argString] = $cache->get(self::cleanKey($argString)); + $cleanKey = self::cleanKey($argString); + self::$_cache[$argString] = $cache->get($cleanKey); if (!self::$_cache[$argString]) { $table = self::getTableName(); $where = self::whereCache($group, $path, $componentID); @@ -81,7 +82,7 @@ class CRM_Core_BAO_Cache extends CRM_Core_DAO_Cache { $data = $rawData ? self::decode($rawData) : NULL; self::$_cache[$argString] = $data; - $cache->set(self::cleanKey($argString), self::$_cache[$argString]); + $cache->set($cleanKey, self::$_cache[$argString]); } } return self::$_cache[$argString]; @@ -106,7 +107,8 @@ class CRM_Core_BAO_Cache extends CRM_Core_DAO_Cache { $argString = "CRM_CT_CI_{$group}_{$componentID}"; if (!array_key_exists($argString, self::$_cache)) { $cache = CRM_Utils_Cache::singleton(); - self::$_cache[$argString] = $cache->get(self::cleanKey($argString)); + $cleanKey = self::cleanKey($argString); + self::$_cache[$argString] = $cache->get($cleanKey); if (!self::$_cache[$argString]) { $table = self::getTableName(); $where = self::whereCache($group, NULL, $componentID); @@ -119,7 +121,7 @@ class CRM_Core_BAO_Cache extends CRM_Core_DAO_Cache { $dao->free(); self::$_cache[$argString] = $result; - $cache->set(self::cleanKey($argString), self::$_cache[$argString]); + $cache->set($cleanKey, self::$_cache[$argString]); } } -- 2.25.1