diff --git a/src/Illuminate/Cache/RedisStore.php b/src/Illuminate/Cache/RedisStore.php index 44f2e237bd72..436e442b2811 100755 --- a/src/Illuminate/Cache/RedisStore.php +++ b/src/Illuminate/Cache/RedisStore.php @@ -40,7 +40,7 @@ public function __construct(Redis $redis, $prefix = '', $connection = 'default') { $this->redis = $redis; $this->setPrefix($prefix); - $this->connection = $connection; + $this->setConnection($connection); } /** @@ -52,7 +52,7 @@ public function __construct(Redis $redis, $prefix = '', $connection = 'default') public function get($key) { if (! is_null($value = $this->connection()->get($this->prefix.$key))) { - return is_numeric($value) ? $value : unserialize($value); + return $this->unserialize($value); } } @@ -75,7 +75,7 @@ public function many(array $keys) $values = $this->connection()->mget($prefixedKeys); foreach ($values as $index => $value) { - $return[$keys[$index]] = is_numeric($value) ? $value : unserialize($value); + $return[$keys[$index]] = $this->unserialize($value); } return $return; @@ -91,7 +91,7 @@ public function many(array $keys) */ public function put($key, $value, $minutes) { - $value = is_numeric($value) ? $value : serialize($value); + $value = $this->serialize($value); $this->connection()->setex($this->prefix.$key, (int) max(1, $minutes * 60), $value); } @@ -147,9 +147,7 @@ public function decrement($key, $value = 1) */ public function forever($key, $value) { - $value = is_numeric($value) ? $value : serialize($value); - - $this->connection()->set($this->prefix.$key, $value); + $this->connection()->set($this->prefix.$key, $this->serialize($value)); } /** @@ -235,4 +233,26 @@ public function setPrefix($prefix) { $this->prefix = ! empty($prefix) ? $prefix.':' : ''; } + + /** + * Serialize the value. + * + * @param mixed $value + * @return mixed + */ + protected function serialize($value) + { + return is_numeric($value) ? $value : serialize($value); + } + + /** + * Unserialize the value. + * + * @param mixed $value + * @return mixed + */ + protected function unserialize($value) + { + return is_numeric($value) ? $value : unserialize($value); + } }