]> git.mxchange.org Git - friendica.git/commitdiff
chache: check for valid serialized data + uncomment caching of contact suggestion
authorrabuzarus <>
Mon, 7 Nov 2016 21:12:11 +0000 (22:12 +0100)
committerrabuzarus <>
Mon, 7 Nov 2016 21:12:11 +0000 (22:12 +0100)
include/cache.php
include/socgraph.php

index b8016ac4574c37ff73b280dd63101adeb04d4aa6..eee61dcd9e739af26f872fa3a28125a78bb1be8c 100644 (file)
@@ -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;
index 349869c40624dc5e81306d1af5318709603c6cb3..d4ecec459fbc80e1e7c4144d44502d768a3357aa 100644 (file)
@@ -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;
 }