]> git.mxchange.org Git - friendica.git/blobdiff - src/Core/Cache/DatabaseCacheDriver.php
Add new Cache console command
[friendica.git] / src / Core / Cache / DatabaseCacheDriver.php
index 53f4623e158389565b01be3fa360e088a8ede327..74dfe3991e1ca4beeb818db1bf23f885a5903cb7 100644 (file)
@@ -9,10 +9,23 @@ use Friendica\Util\DateTimeFormat;
 /**
  * Database Cache Driver
  *
- * @author Hypolite Petovan <mrpetovan@gmail.com>
+ * @author Hypolite Petovan <hypolite@mrpetovan.com>
  */
 class DatabaseCacheDriver extends AbstractCacheDriver implements ICacheDriver
 {
+       /**
+        * (@inheritdoc)
+        */
+       public function getAllKeys()
+       {
+               $stmt = DBA::select('cache', ['k'], ['`expires` >= ?', DateTimeFormat::utcNow()]);
+
+               return DBA::toArray($stmt);
+       }
+
+       /**
+        * (@inheritdoc)
+        */
        public function get($key)
        {
                $cache = DBA::selectFirst('cache', ['v'], ['`k` = ? AND `expires` >= ?', $key, DateTimeFormat::utcNow()]);
@@ -32,6 +45,9 @@ class DatabaseCacheDriver extends AbstractCacheDriver implements ICacheDriver
                return null;
        }
 
+       /**
+        * (@inheritdoc)
+        */
        public function set($key, $value, $ttl = Cache::FIVE_MINUTES)
        {
                $fields = [
@@ -43,11 +59,17 @@ class DatabaseCacheDriver extends AbstractCacheDriver implements ICacheDriver
                return DBA::update('cache', $fields, ['k' => $key], true);
        }
 
+       /**
+        * (@inheritdoc)
+        */
        public function delete($key)
        {
                return DBA::delete('cache', ['k' => $key]);
        }
 
+       /**
+        * (@inheritdoc)
+        */
        public function clear($outdated = true)
        {
                if ($outdated) {