Redisが失敗したときにMagentoがキャッシュをオフにできない理由


9

私はMagento 1.9.0.1を使用しています。Magentoキャッシュ(AWS ElastiCache)をホストしているRedisサーバーが時々ダウンします。これが発生すると、MagentoはRedisが再び使用可能になるまで致命的なエラーを引き起こします。

これはすぐに答えるのは難しい質問かもしれませんが、どうしてMagentoがRedisに接続できないとき、致命的なエラーではなく、キャッシュが無効になっているように動作できないのでしょうか。

私はMagentoにこの機能を提供する設定やモジュールについては知りませんが、表面的には難しくないようです。Magentoはlocal.xml、データベースとキャッシュバックエンドへの接続方法を把握するために使用します。次に、データベースに接続し、キャッシュオプションを調べて、キャッシュを使用するかどうかを確認します。特定のキャッシュを使用するようにデータベースから指示された場合は、いくつかのフラグ(おそらくグローバル変数またはシングルトンのプロパティ)を切り替え、残りのリクエストにキャッシュバックエンドを使用します。接続エラーが発生した場合、そのリクエスト中にMagentoにこれをオフに戻させることはできませんか?

遅いサイトは致命的なエラーよりも優れています。

編集:明らかに、一部の人々は私が尋ねていることを理解していないか、実際にこの投稿を読んでいません。

  1. Redisがプライマリキャッシュストレージメソッドとして使用されているときに、Redisが使用できない場合にMagentoに致命的なエラーなしで機能するモジュールを提供しますか?

  2. そうでない場合、なぜこれが不可能であるか、または非常に難しいのかについて誰かに教えてもらえますか?


これは完全に良い質問です。私は同じ問題に直面し、同じ質問をしています。Redisサーバーが機能していないことをmagentoが認識できず、致命的なエラーをスローする代わりに、従来のmagentoキャッシュに切り替えることができないのはなぜですか。
Vinu D 2015

1
@Tyler V、再開することに投票しても、これがどのように不明確であるか、またはトピックから外れているのかはわかりません。興味深い問題であり、有効な質問のようです。私はこの問題を解決するモジュールを知りません、それはMagentoが箱から出して簡単にできるものではなく、これのために開発されたモジュールを必要とするでしょう。モジュールを開発する前に、Magentoでキャッシュがどのように呼び出されるかを調査する必要があると思います。
Holly

最も簡単な解決策は、Redisにpingを送信するcronであり、応答がない場合は、local.xmlをファイルキャッシュを使用するバリアントと交換します。
ポールグリゴルータ2016年

回答:


2

あなたがしなければならないすべては3つの問題/問題を修正するだけです:

  1. なぜredisが失敗するのですか?大量のトラフィック、エラー、メモリの問題、ネットワーク?
  2. 接続のタイムアウトと再試行の設定?
  3. あなたのスタックは最新ですか?

明らかに、いくつかのコードを変更して、エラーの代わりにロジックを配置できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.