]> git.mxchange.org Git - friendica.git/blobdiff - src/Core/Cache/MemcachedCacheDriver.php
Refactor namespaces
[friendica.git] / src / Core / Cache / MemcachedCacheDriver.php
index c1d08f33212855d3ef9b8f16df081fa636fbd84d..687e67416acf3314c9d1655e5c63d2382e84cd86 100644 (file)
@@ -3,6 +3,7 @@
 namespace Friendica\Core\Cache;
 
 use Friendica\Core\Cache;
+use Friendica\Core\Logger;
 
 use Exception;
 use Memcached;
@@ -56,9 +57,16 @@ class MemcachedCacheDriver extends AbstractCacheDriver implements IMemoryCacheDr
        /**
         * (@inheritdoc)
         */
-       public function getAllKeys()
+       public function getAllKeys($prefix = null)
        {
-               return $this->memcached->getAllKeys();
+               $keys = $this->getOriginalKeys($this->memcached->getAllKeys());
+
+               if ($this->memcached->getResultCode() == Memcached::RES_SUCCESS) {
+                       return $this->filterArrayKeysByPrefix($keys, $prefix);
+               } else {
+                       Logger::log('Memcached \'getAllKeys\' failed with ' . $this->memcached->getResultMessage(), Logger::ALL);
+                       return [];
+               }
        }
 
        /**
@@ -74,6 +82,8 @@ class MemcachedCacheDriver extends AbstractCacheDriver implements IMemoryCacheDr
 
                if ($this->memcached->getResultCode() === Memcached::RES_SUCCESS) {
                        $return = $value;
+               } else {
+                       Logger::log('Memcached \'get\' failed with ' . $this->memcached->getResultMessage(), Logger::ALL);
                }
 
                return $return;
@@ -99,7 +109,6 @@ class MemcachedCacheDriver extends AbstractCacheDriver implements IMemoryCacheDr
                                $value
                        );
                }
-
        }
 
        /**