aboutsummaryrefslogtreecommitdiffstats
path: root/Zotlabs/Lib/Cache.php
diff options
context:
space:
mode:
Diffstat (limited to 'Zotlabs/Lib/Cache.php')
-rw-r--r--Zotlabs/Lib/Cache.php46
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")));
+ }
+
+}
+