問題タブ [dalli]
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 - Dalli でしばらくしてから memcache を自動的に削除する方法
これがまったくできるかどうかはわかりません。
3秒後にmemcacheを削除するようにDalliを設定しようとしています(実験のため)
コードでは、TTL を 3 秒に設定しました。3 秒後に「test1」が削除されることを期待していますが、明らかにそうではありません。したがって、テストは 2 番目のアサーションで失敗します。一定時間後にキー/値を期限切れにするようにダリに依頼するにはどうすればよいですか?
どうもありがとう。
ruby-on-rails - memcached で一定範囲のキーを削除する方法 (Dalli+RoR を使用)
Ruby on Rails を実行しており、Dalli gem を使用して memcached にアクセスしています。
質問: 次のようなキーの範囲 (複数ではなく範囲) を削除するにはどうすればよいですか: 「USERINFO」で始まるキーを持つすべての memcached エントリを削除します。つまり、ワイルドカードを使用して範囲を削除するにはどうすればよいですか?キー?
ruby-on-rails-3 - Memcached / Dalli を使用したキャッシュから画像を除外する
最近、Rails アプリケーションに Dalli gem を使用して、memcached heroku アドオンでキャッシュを実装しました。しかし、Heroku にデプロイすると、画像を含むすべての静的アセットもキャッシュされるため、memcached のサイズがすぐに膨れ上がります。heroku ログのサンプルは次のようになります
特にインデックス ページの場合、キャッシュ サイズはリクエストごとに約 5MB ずつ増加します。この動作は構成可能ですか? すべてのページのすべての画像をプロアクティブにキャッシュするのではなく、フラグメント キャッシュのみをキャッシュするように memcached を構成できますか?
ruby-on-rails - Rails 3、あるリクエストでオブジェクトをキャッシュすると、次のリクエストまで持続しません
を使用してキャッシュするオブジェクトを作成しています
電話すると
同じリクエストで - オブジェクトが取得されます。ただし、他のリクエスト/他のRailsプロセスで呼び出すと、nilになります。
単純なオブジェクトの保存 (数値、文字列、数値の配列など)
Rails.cache データ:
ruby-on-rails - memcached のキーを正規表現で削除する方法 (Dalli+RoR を使用)。
memcached のキーを正規表現で削除する方法 (Dalli+Rails を使用)
memcached では動作しません。何か案は?
ruby-on-rails-3 - Rails.cache.fetchが追加の値を挿入します
アプリケーションのトップグループを表示するページがあります。リーダーボードの計算にはコストがかかるため、次のように1時間結果をキャッシュします。
これは、キャッシュが最初に書き込まれた後にエラーを発生させます。コンソールをざっと見てみると、Group.top_groupsが次のようなアイテムの配列を返していることがわかります。
キャッシュから返された結果を見ると、次のようになります。
@new_record_before_saveと'false'値がキャッシュ内のこのオブジェクトのすべてのエントリに挿入される原因を誰かが知っていますか?
Dalli、Memcached 1.4.9、Rails 3.2.4、Ruby1.9.2を使用しています
ruby - Rails 3 のキャッシュが機能していません。ダリ
development.rb キャッシュ構成
production.rb キャッシュ構成
コンソールで
なんで?
ruby-on-rails - Rails 3.2.6 session[:_csrf_token] が meta タグと異なる
3.0.7 から 3.2.6 にアップグレードした Rails アプリケーションがあります。私はセッション ストアに Dalli と memcached を使用しています。
アップグレードしてから、WARNING: Can't verify CSRF token authenticity
エラーが発生し始め、セッションがリセットされています。
csrf_meta_tags
ヘッダーで呼び出します。
私の ApplicationController ではverify_authenticity_token
、アプリが csrf_token を認識しているものを確認するためにオーバーライドしました。
アプリからフォームを送信しました。ロガーに書き込まれたセッション データは次のとおりです。
{"_csrf_token"=>"4OQ47F2py+l12lLSTnq0RTmyPbmPi2UGMZaPhMG6vVQ="}
これは、メタ タグでページに設定された値や、フォームで送信された値とは異なります。
{"authenticity_token"=>"qMsdBkTHoBH09+X0tnyoPsbtc752yKjCVHddrcufd7g="}
問題が解決しました
これは構成エラーが原因であることが判明しました。
session_store
config/initializers/session_store.rb で構成を設定していました。
これはすべての環境で初期化されましたが、開発環境では、キャッシュのデフォルト構成はconfig.perform_caching = false
.
イニシャライザ ファイルを削除し、セッション ストアの設定を production.rb ファイルに移動すると、問題が解決しました。
これが 3.0.2 では問題にならなかったのに、3.2.6 では問題になった理由がわかりません。
ruby - nginx が memcached ラックの結果をフェッチするときに追加された奇妙な文字列を表示する
ラック アプリで生成されたページの memcaching に少し問題があります。
次の (ruby) コードを使用して、ラック アプリによって生成されたページを memcache に保存しています。
(ここで、response[2][0] は生成された html コードです)
私のnginxサーバー構成には、次のものがあります。
これは機能しますが、完全ではありません。ブラウザに渡されるコンテンツは次で始まります。
私の質問は、html コードの前にある余分なビットは何ですか?ブラウザの結果に表示されないようにするにはどうすればよいですか?
ruby-on-rails-3 - Railsはメッセージをキャッシュします
Rails.cache.read / write/fetchメソッドを使用しています。これらの操作を実行すると、ログに次のメッセージ(以下を参照)が表示されます。それらが何を意味するのか知りたかったのですが、読み取り/書き込みメッセージは理解していますが、Fetch HitandGenerateはどうですか。
ユースケース(キャッシュは空です)-使用するRails.cache.fetch("city/#{key}") { return city_object }
と、3つのログメッセージが表示されます-読み取り、生成、書き込み。ただし、read(キーが存在するかどうかを確認)/(else)writeを使用すると、読み取りと書き込みのメッセージしか表示されないため、何がより効率的か疑問に思いました。
CACHE Read city/key1
CACHE Write city/key1
CACHE Generate city/key1
CACHE Fetch Hit city/key1
また、fetch
ブロック付きのaは、「Read...」と「FetchHit...」の両方のメッセージをread
生成しますが、aだけは「Read...」メッセージのみを生成します。どちらの場合も、キャッシュにはキーと値のペアがありました。
これはRails3.2.8アプリであり、memcachedクライアントとしてdalligemを使用しています。