X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fcache.php;h=d0b0dfafda9c4fc011102bf6a2fa0cd3cbc00d1b;hb=778935eb48e9700ca2e879b1fe377541817705a0;hp=3a18fe2a5a45b237a3a3b605d3a79a082786bbaf;hpb=2db10298300705557b80248ec7b25a06a9a12df0;p=friendica.git diff --git a/include/cache.php b/include/cache.php index 3a18fe2a5a..d0b0dfafda 100644 --- a/include/cache.php +++ b/include/cache.php @@ -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);*/ - } @@ -63,8 +55,17 @@ 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)); } }