]> git.mxchange.org Git - friendica.git/blobdiff - include/cache.php
Merge pull request #2110 from annando/1511-subscribe-feed
[friendica.git] / include / cache.php
index 86539310af71518e7691ffa166f2b8bd2b6e3960..d0b0dfafda9c4fc011102bf6a2fa0cd3cbc00d1b 100644 (file)
@@ -5,33 +5,25 @@
 
        class Cache {
                public static function get($key) {
-                       if (function_exists("apc_fetch") AND function_exists("apc_exists"))
-                               if (apc_exists($key))
-                                       return(apc_fetch($key));
 
                        $r = q("SELECT `v` FROM `cache` WHERE `k`='%s' limit 1",
                                dbesc($key)
                        );
 
-                       if (count($r)) {
-                               if (function_exists("apc_store"))
-                                       apc_store($key, $r[0]['v'], 600);
-
+                       if (count($r))
                                return $r[0]['v'];
-                       }
+
                        return null;
                }
 
-               public static function set($key,$value) {
+               public static function set($key,$value, $duration = CACHE_MONTH) {
 
-                       q("REPLACE INTO `cache` (`k`,`v`,`updated`) VALUES ('%s','%s','%s')",
+                       q("REPLACE INTO `cache` (`k`,`v`,`expire_mode`,`updated`) VALUES ('%s','%s',%d,'%s')",
                                        dbesc($key),
                                        dbesc($value),
+                                       intval($duration),
                                        dbesc(datetime_convert()));
 
-                       if (function_exists("apc_store"))
-                               apc_store($key, $value, 600);
-
                }
 
 
 
 
                public static function clear(){
-                       q("DELETE FROM `cache` WHERE `updated` < '%s'",
-                               dbesc(datetime_convert('UTC','UTC',"now - 30 days")));
+                       q("DELETE FROM `cache` WHERE `updated` < '%s' AND `expire_mode` = %d",
+                               dbesc(datetime_convert('UTC','UTC',"now - 30 days")), intval(CACHE_MONTH));
+
+                       q("DELETE FROM `cache` WHERE `updated` < '%s' AND `expire_mode` = %d",
+                               dbesc(datetime_convert('UTC','UTC',"now - 7 days")), intval(CACHE_WEEK));
+
+                       q("DELETE FROM `cache` WHERE `updated` < '%s' AND `expire_mode` = %d",
+                               dbesc(datetime_convert('UTC','UTC',"now - 1 days")), intval(CACHE_DAY));
+
+                       q("DELETE FROM `cache` WHERE `updated` < '%s' AND `expire_mode` = %d",
+                               dbesc(datetime_convert('UTC','UTC',"now - 1 hours")), intval(CACHE_HOUR));
                }
 
        }