summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2015-01-20 14:53:33 +0100
committerThomas Müller <thomas.mueller@tmit.eu>2015-01-20 14:53:33 +0100
commit84bb4cc2e9013eb3db8d7114a0e6eb132a723adf (patch)
tree2ac360f7ae81f79e71b84832925905098f280f32
parent02848a502159a08cde1761f5787dbb9f72720711 (diff)
parente25998df0f469969c4afdb2b926b3e8ef1d2fee0 (diff)
downloadnextcloud-server-84bb4cc2e9013eb3db8d7114a0e6eb132a723adf.tar.gz
nextcloud-server-84bb4cc2e9013eb3db8d7114a0e6eb132a723adf.zip
Merge pull request #13499 from owncloud/issue/13451-redis-json-encode
Issue/13451 redis json encode
-rw-r--r--lib/private/memcache/redis.php8
-rw-r--r--tests/lib/memcache/cache.php6
2 files changed, 10 insertions, 4 deletions
diff --git a/lib/private/memcache/redis.php b/lib/private/memcache/redis.php
index f21619887d0..78ddd081338 100644
--- a/lib/private/memcache/redis.php
+++ b/lib/private/memcache/redis.php
@@ -49,18 +49,18 @@ class Redis extends Cache {
public function get($key) {
$result = self::$cache->get($this->getNamespace() . $key);
- if ($result === false and ! self::$cache->exists($this->getNamespace() . $key)) {
+ if ($result === false && !self::$cache->exists($this->getNamespace() . $key)) {
return null;
} else {
- return $result;
+ return json_decode($result, true);
}
}
public function set($key, $value, $ttl = 0) {
if ($ttl > 0) {
- return self::$cache->setex($this->getNamespace() . $key, $ttl, $value);
+ return self::$cache->setex($this->getNamespace() . $key, $ttl, json_encode($value));
} else {
- return self::$cache->set($this->getNamespace() . $key, $value);
+ return self::$cache->set($this->getNamespace() . $key, json_encode($value));
}
}
diff --git a/tests/lib/memcache/cache.php b/tests/lib/memcache/cache.php
index 8a4a708e4b7..e5ceae52fb0 100644
--- a/tests/lib/memcache/cache.php
+++ b/tests/lib/memcache/cache.php
@@ -22,6 +22,12 @@ abstract class Cache extends \Test_Cache {
$this->assertEquals('bar', $this->instance->get('foo'));
}
+ public function testGetArrayAfterSet() {
+ $this->assertNull($this->instance->get('foo'));
+ $this->instance->set('foo', ['bar']);
+ $this->assertEquals(['bar'], $this->instance->get('foo'));
+ }
+
public function testDoesNotExistAfterRemove() {
$this->instance->set('foo', 'bar');
$this->instance->remove('foo');