問題タブ [redis-cache]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - Railsのキャッシュ障害を適切に処理するには? (redis キャッシュ)
アプリのフラグメント キャッシュに redis-cache を使用しています。redis がダウンしているか到達不能な場合、タイムアウト例外が発生し、500 エラーが発生します。
これはめったに発生しませんが、キャッシュの場合、Rails がタイムアウトを次のように処理することを期待します。
- 書き込み時のノーオペレーション
- 読み取り時のキャッシュミス。
助言がありますか?これは Rails キャッシングで構成可能なものですか、それともこのケースを適切に処理するためにモンキー パッチを適用する必要がありますか?
何らかの形で役立つ場合に備えて、スタックトレースの関連部分を以下に示します。. .
ruby-on-rails-3 - Rails での Redis Exception のレスキュー
現在、as itsおよび forRails 3.2.13
を使用するアプリがあります。redis
cache_store
Sidekiq
私はredisマスタースレーブも使用しています。フェイルオーバー中にスレーブがマスターになる過程にあり、Rails がこのノードに接続され、ノードに書き込もうとすると、ノードが であってもmaster
、この例外が発生するという問題に遭遇しました。
この問題は、redis を使用しているもの (たとえばsidekiq
、rails cache_store) を切断して、そのノードに書き込む後続のコマンドが有効な接続で再接続されるようにすることで簡単に解決できることを知っています。
問題は、どこで例外をキャッチして処理するかです。私の最初の考えは、airbrake
一種のグローバル レスキューを行うことでしたが、それが最善の方法かどうかはわかりませんでした。
誰かがこの問題に遭遇しましたか?
python - Redis は PostgreSQL のようなデータベースに書き出すことができますか?
私は PostgreSQL を最も長い間使用してきました。私のデータはすべて Postgres 内にあります。私は最近、redis を調べましたが、そうでなければ Django (python) で数行しかかからない強力な機能がたくさんあります。Redis データは、それが実行されているマシンがダウンしない限り永続的であり、選択に応じて、保存しているデータを 1000 キーごとまたは 5 分ごとなどにディスクに書き出すように構成できます。
Redis は優れたキャッシュを作成し、Python で記述した多くの関数 (ユーザーの投稿への投票、友人リストの表示など) を確実に置き換えるでしょう。しかし、私の懸念は、このすべてのデータを何らかの方法で postgres に変換する必要があることです。このデータを redis に保存することは信用できません。redis は、情報をすばやく取得するための一時的なストレージ ソリューションであると考えています。これは非常に高速で、postgres に対して繰り返しクエリを実行するよりもはるかに優れています。
Redis データをデータベースに技術的に書き込むことができる唯一の方法は、django を介して、redis から postgres データベースへの「get」クエリから取得したものを save() することだと思います。
それが私が考えることができる唯一の解決策です。この問題に対する他の解決策を知っていますか?
redis - メソッドの呼び出し時に Redis オブジェクトの作成中およびコマンドの実行中にエラーが発生しました
これは、rubygems と redis を含めた後の Rails コンソールの出力です。
azure - Windows Azure Redis キャッシュ移行の問題
サイトが複数のインスタンスで実行されている Windows azure でサイトをホストしています。複数のインスタンスがあるため、セッション値を保存するために共有キャッシュを使用していました。Microsoft は共有キャッシュを停止しようとしており、セッションを保存するために redis キャッシュを使用することを推奨しています。redis キャッシュを使用するようにプロジェクトを変更したところ、ほとんどのページで機能しました。私の問題は、セッションで大量のデータを保存する非常に重要なページ「検索ページ」(検索機能に lucene.net を使用しています) がサイトにあり、このページが機能していないことです。検索ボタンを押した後、アドレスバーに接続状態が長時間表示され、ウェブサイトの oops ページに移動します。DB にエラー メッセージを記録しているので、そこを調べたところ、次のエラー メッセージが見つかりました。
これが私の問題に関連しているかどうかはわかりませんが、これが修正されれば、ページは正しく機能するようです。このエラーが発生した理由と、どうすれば修正できますか?
ありがとう
spring - Spring-data-redis: cacheManager 構成の問題
Spring キャッシュの実装として redis を使用しています。そして、公式ドキュメントには、キャッシュマネージャーを次のように構成する必要があると書かれています。
また、jedis のバージョン = 2.0.0、spring-data-redis のバージョン = 1.0.2.RELEASE の場合に正常に動作します。
しかし、より最近のバージョン (例: jedis = 2.5.2 および spring-data-redis = 1.3.4.RELEASE) では、上記の構成は機能しません。代わりに、「loadCaches は空のコレクションを返してはならない」という例外をスローします。それから私はそれを参照して再度ググったところ、構成ファイルは次のようになりました。
今では、空のコレクションについては文句を言いませんが、初期化については別のことです。
したがって、ここに別の 2 つの質問があります。
- cacheNames プロパティ内で、他のユーザーが "list"、"set"、および "map" を使用していることがわかります。違いは何ですか?
- 内部でBeanを構成する方法は?
私はこの Bean のセットアップに数日間苦労しています。前もって感謝します
redis - Redis Cache データのバックアップ
Redis Cache について読み始めました。非常に基本的なレベルでは、他のメモリ キャッシュと同様にデータをメモリに格納します。私の質問は、クラッシュまたは再起動した場合に保存されているデータはどうなるかということです。永続性 (データ バック ポリシー) はありますか? そうしないと、データが失われますか? この機能に関する参考文献は役に立ちます。
前もって感謝します!!
caching - Azure Redis Cache への接続が非常に多いのはなぜですか?
キャッシュをクエリする単一のマシンの負荷が高いシナリオで、Azure Redis Cache を使用しています。このマシンは、およそ 1 秒間に約 20 個のアイテムを取得および設定します。昼間は増えますが、夜は減ります。
これまでのところ、問題なく動作しています。今日、「接続されたクライアント」のメトリックが非常に高いことに気付きましたが、アイテムを常に取得および設定するクライアントは 1 つしかありません。ここに私が意味するメトリックのスクリーンショットがあります:
私のコードは次のようになります。
このクラスの複数のインスタンスを作成していないので、これは問題ではありません。接続メトリックを誤解している可能性があります。それらが実際に意味するのは、キャッシュにアクセスする回数ですが、私の意見では意味がありません。任意のアイデア、または同様の問題を抱えている人はいますか?