Magento с RedisLab Redis Cluster Backend

Проблема интеграции кластера Magento RedisLab

После развертывания базы данных Redis кластера FPC и Session работают отлично, но когда мы добавляем экземпляр RedisLab кластера ( RedisLab) с разделом Magento Cache, мы сталкиваемся с одной проблемой.

При нажатии ДОБАВИТЬ В КОРЗИНУ >> шоу не может добавить товар

Ошибка бэкэнда

  Next exception 'Zend_Cache_Exception' with message 'Error cleaning cache by mode matchingAnyTag: ERR CROSSSLOT Keys in request don't hash to the same slot (command='SUNION', key='zc:ti:da3_QUOTE_2156255')' in /var/www/magento/lib/Zend/Cache.php:209
    Stack trace:
    3
    #6 /var/www/magento/app/code/core/Mage/Core/Model/Abstract.php(464): Mage_Core_Model_Abstract->cleanModelCache()
    #7 /var/www/magento/app/code/core/Mage/Sales/Model/Quote.php(333): Mage_Core_Model_Abstract->_afterSave()
    #8 /var/www/magento/app/code/core/Mage/Core/Model/Abstract.php(319): Mage_Sales_Model_Quote->_afterSave()
    #9 /var/www/magento/app/code/core/Mage/Sales/Model/Quote.php(1966): Mage_Core_Model_Abstract->save()
    #10 /var/www/magento/app/code/core/Mage/Checkout/Model/Cart.php(459): Mage_Sales_Model_Quote->save()
    #11 /var/www/magento/app/code/core/Mage/Checkout/controllers/CartController.php(223): Mage_Checkout_Model_Cart->save()
    #12 /var/www/magento/app/code/core/Mage/Core/Controller/Varien/Action.php(418): Mage_Checkout_CartController->addAction()
    #13 /var/www/magento/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(254): Mage_Core_Controller_Varien_Action->dispatch('add')
    #14 /var/www/magento/app/code/core/Mage/Core/Controller/Varien/Front.php(172): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
    #15 /var/www/magento/app/code/core/Mage/Core/Model/App.php(365): Mage_Core_Controller_Varien_Front->dispatch()
    #16 /var/www/magento/app/Mage.php(684): Mage_Core_Model_App->run(Array)
    #17 /var/www/magento/index.php(85): Mage::run('', 'store')
    #18 {main}

Если я отключу исключение, то его рабочий файл

/var/www/magento/lib/Zend/Cache.php:209

1 ответ

  • Просто получил то же исключение, что и вы, я считаю, что дело относится к вашей пользовательской работе, попробуйте заставить magento работать с redis-cluster
  • Мое решение:
    • сначала удалите исключение из библиотеки redis-client.php и верните IP:PORT
    • найти правильный клиент по функции byHash в redis-cluster.php
    • выполнить команду с правильным клиентом
  • Нужно перезаписать загрузку, удалить, _removeByMatchingTags...
Другие вопросы по тегам