diff -Nuar a/vendor/magento/framework/Cache/Backend/RemoteSynchronizedCache.php b/vendor/magento/framework/Cache/Backend/RemoteSynchronizedCache.php
--- a/vendor/magento/framework/Cache/Backend/RemoteSynchronizedCache.php
+++ b/vendor/magento/framework/Cache/Backend/RemoteSynchronizedCache.php
@@ -237,7 +237,7 @@ class RemoteSynchronizedCache extends \Zend_Cache_Backend implements \Zend_Cache
         $dataToSave = $data;
         $remHash = $this->loadRemoteDataVersion($id);

-        if ($remHash !== false) {
+        if ($remHash !== false && $this->getDataVersion($data) === $remHash) {
             $dataToSave = $this->remote->load($id);
         } else {
             $this->remote->save($data, $id, $tags, $specificLifetime);
@@ -248,9 +248,23 @@ class RemoteSynchronizedCache extends \Zend_Cache_Backend implements \Zend_Cache
             $this->unlock($id);
         }

+        if (!mt_rand(0, 100) && $this->checkIfLocalCacheSpaceExceeded()) {
+            $this->local->clean();
+        }
+
         return $this->local->save($dataToSave, $id, [], $specificLifetime);
     }

+    /**
+     * Check if local cache space bigger that configure amount
+     *
+     * @return bool
+     */
+    private function checkIfLocalCacheSpaceExceeded()
+    {
+        return $this->getFillingPercentage() >= 95;
+    }
+
     /**
      * @inheritdoc
      */
@@ -266,7 +280,8 @@ class RemoteSynchronizedCache extends \Zend_Cache_Backend implements \Zend_Cache
      */
     public function clean($mode = \Zend_Cache::CLEANING_MODE_ALL, $tags = [])
     {
-        return $this->remote->clean($mode, $tags);
+        return $this->remote->clean($mode, $tags) &&
+            $this->local->clean($mode, $tags);
     }

     /**
