From a6c9119dfa1cf812292fffe1131f3b9f3bfebfc7 Mon Sep 17 00:00:00 2001 From: Jagoba Los Arcos Date: Sun, 13 Aug 2017 22:49:24 +0200 Subject: [PATCH] [ticket/15320] Redis cache does not save keys withouth expiration In some functions like sql_save in cache/memory.php, code try to save a key/value in cache with ttl = 0 so key should never expire. In current redis.php cache driver, it fails so key never get cached. This cause for example that when you create a subforum, it not appear in the forum box in the admincp. To solve, if ttl is 0, we use redis->set instead of setex --- phpBB/phpbb/cache/driver/redis.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/phpBB/phpbb/cache/driver/redis.php b/phpBB/phpbb/cache/driver/redis.php index eda774491c..8c9cd933a5 100644 --- a/phpBB/phpbb/cache/driver/redis.php +++ b/phpBB/phpbb/cache/driver/redis.php @@ -137,6 +137,10 @@ class redis extends \phpbb\cache\driver\memory */ function _write($var, $data, $ttl = 2592000) { + if($ttl == 0) + { + return $this->redis->set($var, $data); + } return $this->redis->setex($var, $ttl, $data); }