diff --git a/lib/private/memcache/factory.php b/lib/private/memcache/factory.php index dba9e8a0e00..1e663eecfe1 100644 --- a/lib/private/memcache/factory.php +++ b/lib/private/memcache/factory.php @@ -24,7 +24,7 @@ class Factory implements ICacheFactory { } /** - * get a cache instance, will return null if no backend is available + * get a cache instance, or Null backend if no backend available * * @param string $prefix * @return \OC\Memcache\Cache @@ -42,7 +42,7 @@ class Factory implements ICacheFactory { } elseif (Memcached::isAvailable()) { return new Memcached($prefix); } else { - return null; + return new Null($prefix); } } diff --git a/lib/private/memcache/null.php b/lib/private/memcache/null.php new file mode 100644 index 00000000000..62cd060aaca --- /dev/null +++ b/lib/private/memcache/null.php @@ -0,0 +1,35 @@ + + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OC\Memcache; + +class Null extends Cache { + public function get($key) { + return null; + } + + public function set($key, $value, $ttl = 0) { + return true; + } + + public function hasKey($key) { + return false; + } + + public function remove($key) { + return true; + } + + public function clear($prefix = '') { + return true; + } + + static public function isAvailable() { + return true; + } +}