diff -Nuar a/vendor/colinmollenhour/cache-backend-redis/Cm/Cache/Backend/Redis.php b/vendor/colinmollenhour/cache-backend-redis/Cm/Cache/Backend/Redis.php
--- a/vendor/colinmollenhour/cache-backend-redis/Cm/Cache/Backend/Redis.php
+++ b/vendor/colinmollenhour/cache-backend-redis/Cm/Cache/Backend/Redis.php
@@ -111,6 +111,13 @@ class Cm_Cache_Backend_Redis extends Zend_Cache_Backend implements Zend_Cache_Ba
      */
     protected $_luaMaxCStack = 5000;
 
+    /**
+     * If 'retry_reads_on_master' is truthy then reads will be retried against master when slave returns "(nil)" value
+     *
+     * @var boolean
+     */
+    protected $_retryReadsOnMaster = false;
+
     /**
      * @var stdClass
      */
@@ -339,6 +346,10 @@ class Cm_Cache_Backend_Redis extends Zend_Cache_Backend implements Zend_Cache_Ba
             $this->_luaMaxCStack = (int) $options['lua_max_c_stack'];
         }
 
+        if (isset($options['retry_reads_on_master'])) {
+            $this->_retryReadsOnMaster = (bool) $options['retry_reads_on_master'];
+        }
+
         if (isset($options['auto_expire_lifetime'])) {
             $this->_autoExpireLifetime = (int) $options['auto_expire_lifetime'];
         }
@@ -441,6 +452,11 @@ class Cm_Cache_Backend_Redis extends Zend_Cache_Backend implements Zend_Cache_Ba
     {
         if ($this->_slave) {
             $data = $this->_slave->hGet(self::PREFIX_KEY.$id, self::FIELD_DATA);
+
+            // Prevent compounded effect of cache flood on asynchronously replicating master/slave setup
+            if ($this->_retryReadsOnMaster && $data === false) {
+                $data = $this->_redis->hGet(self::PREFIX_KEY.$id, self::FIELD_DATA);
+            }
         } else {
             $data = $this->_redis->hGet(self::PREFIX_KEY.$id, self::FIELD_DATA);
         }
