X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=src%2FCore%2FCache%2FMemcachedCacheDriver.php;h=687e67416acf3314c9d1655e5c63d2382e84cd86;hb=cb3f09ae4f344ff83fca9dc435f3cbad1972737f;hp=9e9c00f0b89f25f9ffbc943ccce6aa7f4673dec2;hpb=c083ae047c4259dcfa1c61a3795679bbf1b08d8c;p=friendica.git diff --git a/src/Core/Cache/MemcachedCacheDriver.php b/src/Core/Cache/MemcachedCacheDriver.php index 9e9c00f0b8..687e67416a 100644 --- a/src/Core/Cache/MemcachedCacheDriver.php +++ b/src/Core/Cache/MemcachedCacheDriver.php @@ -3,6 +3,7 @@ namespace Friendica\Core\Cache; use Friendica\Core\Cache; +use Friendica\Core\Logger; use Exception; use Memcached; @@ -53,6 +54,24 @@ class MemcachedCacheDriver extends AbstractCacheDriver implements IMemoryCacheDr } } + /** + * (@inheritdoc) + */ + public function getAllKeys($prefix = null) + { + $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 []; + } + } + + /** + * (@inheritdoc) + */ public function get($key) { $return = null; @@ -63,11 +82,16 @@ 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; } + /** + * (@inheritdoc) + */ public function set($key, $value, $ttl = Cache::FIVE_MINUTES) { $cachekey = $this->getCacheKey($key); @@ -85,15 +109,20 @@ class MemcachedCacheDriver extends AbstractCacheDriver implements IMemoryCacheDr $value ); } - } + /** + * (@inheritdoc) + */ public function delete($key) { $cachekey = $this->getCacheKey($key); return $this->memcached->delete($cachekey); } + /** + * (@inheritdoc) + */ public function clear($outdated = true) { if ($outdated) { @@ -104,12 +133,7 @@ class MemcachedCacheDriver extends AbstractCacheDriver implements IMemoryCacheDr } /** - * @brief Sets a value if it's not already stored - * - * @param string $key The cache key - * @param mixed $value The old value we know from the cache - * @param int $ttl The cache lifespan, must be one of the Cache constants - * @return bool + * (@inheritdoc) */ public function add($key, $value, $ttl = Cache::FIVE_MINUTES) {