From 915689dd79c23128d01ef6356ba8881a3a25d37d Mon Sep 17 00:00:00 2001 From: rabuzarus <> Date: Mon, 7 Nov 2016 22:12:11 +0100 Subject: [PATCH] chache: check for valid serialized data + uncomment caching of contact suggestion --- include/cache.php | 21 +++++++++++++++++---- include/socgraph.php | 19 +++++++++++++------ 2 files changed, 30 insertions(+), 10 deletions(-) diff --git a/include/cache.php b/include/cache.php index b8016ac457..eee61dcd9e 100644 --- a/include/cache.php +++ b/include/cache.php @@ -84,9 +84,14 @@ class Cache { $memcache = self::memcache(); if (is_object($memcache)) { // We fetch with the hostname as key to avoid problems with other applications - $value = $memcache->get(get_app()->get_hostname().":".$key); - if (!is_bool($value)) { - return unserialize($value); + $cached = $memcache->get(get_app()->get_hostname().":".$key); + $value = @unserialize($cached); + + // Only return a value if the serialized value is valid and + // We also check if the db entry is a serialized + // boolean 'false' value which we want to return) + if ($cached === 'b:0;' || $value !== false) { + return $value; } return null; @@ -100,7 +105,15 @@ class Cache { ); if (dbm::is_result($r)) { - return unserialize($r[0]['v']); + $cached = $r[0]['v']; + $value = @unserialize($cached); + + // Only return a value if the serialized value is valid and + // We also check if the db entry is a serialized + // boolean 'false' value which we want to return) + if ($cached === 'b:0;' || $value !== false) { + return $value; + } } return null; diff --git a/include/socgraph.php b/include/socgraph.php index 349869c406..d4ecec459f 100644 --- a/include/socgraph.php +++ b/include/socgraph.php @@ -1079,10 +1079,12 @@ function suggestion_query($uid, $start = 0, $limit = 80) { return array(); } - $list = Cache::get("suggestion_query:".$uid.":".$start.":".$limit); - if (!is_null($list)) { - return $list; - } +// Uncommented because the result of the queries are to big to store it in the cache +// We need to decide if we want to change the db column type or if we want to delte it +// $list = Cache::get("suggestion_query:".$uid.":".$start.":".$limit); +// if (!is_null($list)) { +// return $list; +// } $network = array(NETWORK_DFRN); @@ -1116,7 +1118,10 @@ function suggestion_query($uid, $start = 0, $limit = 80) { ); if (count($r) && count($r) >= ($limit -1)) { - Cache::set("suggestion_query:".$uid.":".$start.":".$limit, $r, CACHE_FIVE_MINUTES); +// Uncommented because the result of the queries are to big to store it in the cache +// We need to decide if we want to change the db column type or if we want to delte it +// Cache::set("suggestion_query:".$uid.":".$start.":".$limit, $r, CACHE_FIVE_MINUTES); + return $r; } @@ -1147,7 +1152,9 @@ function suggestion_query($uid, $start = 0, $limit = 80) { while (sizeof($list) > ($limit)) array_pop($list); - Cache::set("suggestion_query:".$uid.":".$start.":".$limit, $list, CACHE_FIVE_MINUTES); +// Uncommented because the result of the queries are to big to store it in the cache +// We need to decide if we want to change the db column type or if we want to delte it +// Cache::set("suggestion_query:".$uid.":".$start.":".$limit, $list, CACHE_FIVE_MINUTES); return $list; } -- 2.39.5