diff options
Diffstat (limited to 'Zotlabs/Lib')
-rw-r--r-- | Zotlabs/Lib/Cache.php | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/Zotlabs/Lib/Cache.php b/Zotlabs/Lib/Cache.php new file mode 100644 index 000000000..35c8f56ad --- /dev/null +++ b/Zotlabs/Lib/Cache.php @@ -0,0 +1,46 @@ +<?php /** @file */ + +namespace Zotlabs\Lib; + + /** + * cache api + */ + +class Cache { + public static function get($key) { + $r = q("SELECT v FROM cache WHERE k = '%s' limit 1", + dbesc($key) + ); + + if ($r) + return $r[0]['v']; + return null; + } + + public static function set($key,$value) { + + $r = q("SELECT * FROM cache WHERE k = '%s' limit 1", + dbesc($key) + ); + if($r) { + q("UPDATE cache SET v = '%s', updated = '%s' WHERE k = '%s'", + dbesc($value), + dbesc(datetime_convert()), + dbesc($key)); + } + else { + q("INSERT INTO cache ( k, v, updated) VALUES ('%s','%s','%s')", + dbesc($key), + dbesc($value), + dbesc(datetime_convert())); + } + } + + + public static function clear() { + q("DELETE FROM cache WHERE updated < '%s'", + dbesc(datetime_convert('UTC','UTC',"now - 30 days"))); + } + +} + |