Redis Başarısız Olduğunda Neden Magento Önbelleği Kapatamıyor?


9

Magento 1.9.0.1 ile çalışıyorum ve Magento önbelleğini barındıran Redis sunucularımız her seferinde (AWS ElastiCache) aşağı inecek. Bu durumda, Redis tekrar kullanılabilir hale gelene kadar Magento ölümcül hata yapar.

Bu hızlı bir şekilde cevaplamak zor bir soru olabilir, ama merak ediyorum, Magento neden ölümcül bir hata yerine Redis'e bağlanamadığında önbellek devre dışı gibi davranamıyor?

Magento'ya bu yeteneği veren herhangi bir ayarın veya modülün farkında değilim, ancak yüzeyde zor görünmüyor. Magento local.xmlveritabanına nasıl bağlanacağını ve önbellek arka uçlarını bulmak için kullanır. Daha sonra veritabanına bağlanır ve önbelleğin kullanılıp kullanılmayacağını bilmek için önbellek seçeneklerine bakar. Veritabanı tarafından belirli bir önbellek kullanması istenirse, bazı bayraklar değiştirir (muhtemelen bir global değişken veya tek birtonun özelliği) ve isteğin geri kalanı için önbellek arka ucunu kullanır. Bir bağlantı hatası oluşursa Magento bu istek sırasında bunu kapatmak için yapılamadı mı?

Yavaş bir site ölümcül bir hatadan daha iyidir.

Düzenleme: Açıkçası bazı insanlar ne istediğimi anlamıyorum ya da aslında bu yazı okumadım.

  1. Redis kullanılamadığında, Redis birincil önbellek depolama yöntemi olarak kullanıldığında Magento'ya ölümcül hata olmadan çalışma yeteneği verecek bir modül var mı?

  2. Değilse, biri bunun neden mümkün olmadığı veya çok zor olduğu konusunda beni aydınlatabilir mi?


Bu çok iyi bir soru. Aynı sorunla karşılaştım ve aynı sorum var. Magento neden Redis sunucusunun çalışmadığını fark edemiyor ve ölümcül bir hata atmak yerine geleneksel magento önbelleğine geçmiyor.
Vinu D

1
@Tyler V, yeniden açmak için oy kullandı, bunun ne kadar belirsiz veya konu dışı olduğunu göremiyorum, ilginç bir sorun ve geçerli bir soru gibi görünüyor. Bu sorunu çözen bir modül bilmiyorum, Magento'nun kutudan kolayca çıkardığı bir şey olmayabilir ve bunun için geliştirilmiş bir modül gerektirir. Modülü geliştirmeden önce Magento'da önbelleğin nasıl çağrıldığını araştırmanız gerektiğini tahmin ediyorum.
Holly

En basit çözüm, Redis'e ping yapan bir cron olacaktır ve cevap yoksa, local.xml dosyasını dosya önbelleğe alma kullanan bir değişkenle değiştirir.
Paul Grigoruta

Yanıtlar:


2

Tüm yapmanız gereken sadece 3 sorunu / sorunu düzeltmek:

  1. Redis neden başarısız oluyor? Yoğun trafik, hata, bellek sorunları, ağ oluşturma?
  2. Bağlantı için zaman aşımı ve yeniden deneme ayarları?
  3. Yığınız güncel mi?

Açıkçası bazı kodları değiştirebilir ve mantığı hata yerine yerleştirebilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.