summaryrefslogtreecommitdiff
path: root/core/classes/cache/RedisCache.php
diff options
context:
space:
mode:
authorGeorge Halkiadakis <gchalkiadakis@sklavenitis.co.gr>2023-04-27 03:47:30 +0300
committerGeorge Halkiadakis <gchalkiadakis@sklavenitis.co.gr>2023-04-27 03:47:30 +0300
commit059e0d95d0c28bc5060e87e146eaf7411f51bf90 (patch)
tree7c21ac432f16dde2329a0d5954d70711eceb48e6 /core/classes/cache/RedisCache.php
parent26cd8ee99659ef1926c96a049c93645ffc9b169d (diff)
downloadgyraf1gov-059e0d95d0c28bc5060e87e146eaf7411f51bf90.tar.gz
gyraf1gov-059e0d95d0c28bc5060e87e146eaf7411f51bf90.tar.bz2
gyraf1gov-059e0d95d0c28bc5060e87e146eaf7411f51bf90.zip
skeleton commit; based on an anom project
Diffstat (limited to 'core/classes/cache/RedisCache.php')
-rw-r--r--core/classes/cache/RedisCache.php69
1 files changed, 69 insertions, 0 deletions
diff --git a/core/classes/cache/RedisCache.php b/core/classes/cache/RedisCache.php
new file mode 100644
index 0000000..ec50f08
--- /dev/null
+++ b/core/classes/cache/RedisCache.php
@@ -0,0 +1,69 @@
+<?php
+
+/** Redis Cache implementation
+ * ---
+ * This class uses \Predis\Redis, so do not forget require it via composer
+ * or to use the configuration options you will find into \README.md
+ */
+class RedisCache implements Cache_interface
+{
+ /** set
+ * store $data under the label $key
+ * cache expires in $ttl seconds
+ */
+ public function set($key, $data, $ttl)
+ {
+ $serialized = serialize($data);
+
+ if ($serialized = '') {
+ return false;
+ }
+
+ try {
+ $redis = new \Predis\Client([
+ 'host' => \REDIS_HOST
+ ]);
+ return $redis->set($key, $serialized, 'EX', $ttl);
+
+ } catch (Exception $e) {
+ // ...
+ }
+ }
+
+
+ /** get
+ * fetch previously stored $data under label $key
+ * return $data (or false)
+ */
+ public function get($key)
+ {
+
+ try {
+
+ $redis = new \Predis\Client([
+ 'host' => \REDIS_HOST
+ ]);
+
+ if ($redis->exists($key)) {
+ return unserialize($redis->get($key));
+
+ } else {
+ return false;
+ }
+
+ } catch (Exception $e) {
+ // ...
+ }
+
+ }
+
+
+ /** flush
+ * --- not umplemented yet; may not needed
+ */
+ public function flush($olderThan = 0)
+ {
+ return false; // until implementation
+ }
+
+} \ No newline at end of file