diff --git a/lib/private/memcache/arraycache.php b/lib/private/memcache/arraycache.php
new file mode 100644
index 0000000000000000000000000000000000000000..9456c0f80c602c78d5254fed16b0cf256016f8a2
--- /dev/null
+++ b/lib/private/memcache/arraycache.php
@@ -0,0 +1,71 @@
+<?php
+/**
+ * Copyright (c) 2015 Joas Schilling <nickvergessen@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace OC\Memcache;
+
+class ArrayCache extends Cache {
+	/** @var array Array with the cached data */
+	protected $cachedData = array();
+
+	/**
+	 * {@inheritDoc}
+	 */
+	public function get($key) {
+		if ($this->hasKey($key)) {
+			return $this->cachedData[$key];
+		}
+		return null;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	public function set($key, $value, $ttl = 0) {
+		$this->cachedData[$key] = $value;
+		return true;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	public function hasKey($key) {
+		return isset($this->cachedData[$key]);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	public function remove($key) {
+		unset($this->cachedData[$key]);
+		return true;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	public function clear($prefix = '') {
+		if ($prefix === '') {
+			$this->cachedData = [];
+			return true;
+		}
+
+		foreach ($this->cachedData as $key => $value) {
+			if (strpos($key, $prefix) === 0) {
+				$this->remove($key);
+			}
+		}
+		return true;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 */
+	static public function isAvailable() {
+		return true;
+	}
+}
diff --git a/lib/private/memcache/factory.php b/lib/private/memcache/factory.php
index 1e663eecfe1bdf0a18a46f0f9ca032da0316a011..e8a91c522691a81df70e2d71167ff42b0b2fbdf3 100644
--- a/lib/private/memcache/factory.php
+++ b/lib/private/memcache/factory.php
@@ -42,7 +42,7 @@ class Factory implements ICacheFactory {
 		} elseif (Memcached::isAvailable()) {
 			return new Memcached($prefix);
 		} else {
-			return new Null($prefix);
+			return new ArrayCache($prefix);
 		}
 	}
 
diff --git a/tests/lib/memcache/arraycache.php b/tests/lib/memcache/arraycache.php
new file mode 100644
index 0000000000000000000000000000000000000000..1db673da2a890fb0a8771150572b2e3334a40643
--- /dev/null
+++ b/tests/lib/memcache/arraycache.php
@@ -0,0 +1,17 @@
+<?php
+
+/**
+ * Copyright (c) 2015 Joas Schilling <nickvergessen@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace Test\Memcache;
+
+class ArrayCache extends Cache {
+	protected function setUp() {
+		parent::setUp();
+		$this->instance = new \OC\Memcache\ArrayCache('');
+	}
+}