問題タブ [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-on-rails - memcached(Dalli)とcaches_actionの有効期限
RailsアプリにMemcachedとDalliストアを使用しています。
のようなものを設定する方法はありexpires_in
ますか?gzip
caches_action
ruby-on-rails - 沈黙の呼び方!dalli cache_storeで?
開発モードでキャッシュを使用してアプリケーションを開発しようとしていますが、スパムされたdevelopment.logはキャッシュログによって大きく発生します。私はダリを使っています、そして私はダリが沈黙を持っていることを知っています!メソッド(https://github.com/mperham/dalli/commit/892020fbc73613ccc84412ce04b85b7fda645e63)ですが、このメソッドの使用方法は?
を呼び出すことが提案されている古い手順をいくつか見つけましたconfig.cache_store
が、これはシンボルであり、このメソッドはありません。
例外をスローします。
ruby-on-rails - ステージングでは初期化されていない定数Dalli(NameError)ですが、本番環境ではありません
そのためuninitialized constant Dalli (NameError)
、ruby on railsアプリをherokuのステージングにプッシュすると、が発生しますが、本番環境では正常に機能します。myproduction.rb
とstaging.rb
filesは、メーラーホストの値を除いてまったく同じです。誰か助けてもらえますか?ありがとう!
Production.rb:
staging.rb:
Production.rb:
これがの出力ですheroku logs --tail --remote staging
:
www.github.com/sambaek/novultyで私のコードをチェックしてください
ruby-on-rails-3.2 - cookie_store内のRails3.2セッションCookieは、外部URLにリダイレクトされた後に削除されます
次のキャッシュ設定/構成を持つRails3.2アプリ(ステージング環境)のセッションから、いくつかのキー/Cookieが削除/欠落しているという奇妙な問題に直面しています。セッションストアはCookieストアであり、次のように構成されています。
rails cacheストアはmemcacheストアであり、dalligemを使用してrailsとmemcacheを統合します。
次の構成がさまざまな.rbファイルに追加されました。
ただし、このCookieの欠落のシナリオが発生するフローは少し複雑です。これが発生するシナリオは次のとおりです。
- ユーザーがAppsrvのページにアクセスしてセッションを開始します(rails 3.2アプリ、ユーザートランザクションを識別するいくつかの変数がこの時点でセッションに設定されています)
- 認証のために外部のウェブサイトに移動します。
- 認証が成功すると、外部WebサイトはJavaアプリケーションサーバーにリダイレクトされます。
- Java Appサーバーは認証を記録し、Appsrvにリダイレクトします。
- ただし、このリダイレクトの後、手順1で設定されたセッション変数はなくなります。
いくつかの奇妙な発見:唯一の違いが次のような開発環境では、物事は完全に機能します。
ステージング「config.action_controller.perform_caching=false」に同じ設定がある場合、ステージングも正常に機能します。「config.action_controller.perform_caching」をfalseに設定しても、実際にはコントローラーとモデルでキャッシュが適切に実行されます。
したがって、質問は次のとおりです。1. config.action_controller.perform_cachingがtrueに設定されていると、セッションCookieが削除されるのはなぜですか。2. config.action_controller.perform_caching構成をfalseに設定すると、キャッシュも適切に実行できる場合、その構成の重要性は何ですか?
ruby-on-rails-3 - Railsのキャッシュログに「ラック」ルートへの呼び出しが表示されるのはなぜですか?
My Rails 3.2アプリには、アップストリームロードバランサーのヘルスチェックルートが含まれています。
また、Dalliとmemcachedを使用して、アプリケーションのさまざまなオブジェクトをキャッシュしています。最近Dalliデバッグ出力を使用していますが、ログにヘルスチェックが殺到していることに気付きました。
これらのヘルスチェックは、何らかの理由でキャッシュから提供されていますか?それはどこで構成されていますか?私は明らかにページキャッシュを設定していません。このルートは、そのURLに関連付けられている唯一のコードです。
ruby-on-rails - 実行時にRailsのcache_storeを変更しますか?
私のアプリケーションには、管理者が GUI を介して cache_store 構成を変更できる機能があります。その後、新しい構成がすぐに有効になります。
私の production.rb のデフォルトの cache_store:
管理者は必要に応じて、Dalli ストアで memcached を使用するように変更できます。Rails.application.config.cache_store を変更しようとしました:
ただし、Rails.cache は変更されません。
とにかくこれを行うことはありますか?
ruby - Twitterのタイムラインをキャッシュに保存しますか(Sinatraを使用)?
Twitter gemを使用して、ユーザーのTwitterメンションのタイムラインを表示する基本的なSinatraアプリケーションを作成しています。ログイン後、彼/彼女の言及を取得します。何かのようなもの:
これに関する問題は、ユーザーがホームページにアクセスするたびにTwitterAPIを呼び出すことです。レート制限があり、効率的でもありません。たとえば、3分ごとにメンションのタイムラインを再取得したいだけだからです。または、もっと簡単な場合は、レート制限に達したらキャッシュを使用できます。
読んだ後、これを行うための最良の方法は、このデータをキャッシュに保存することであるように思われるので、APIリクエストを作成し続けることはありません。どうすればいいですか?
ruby-on-rails-3 - Rails + Unicornの問題-DalliError:値をアンマーシャリングできません:未定義のクラス/モジュール
私はRails3.1アプリを持っています。これは、ShopifyAPIgemを利用してActiveResourceを介して外部データをフェッチします。これらのActiveRecordモデルオブジェクトをDalli経由でMemcachedに保存し、必要に応じて再度読み込みます。
Thin Webサーバーを実行すると、このデータを正常に読み取ることができ、すべてが正常に機能します。ただし、UnicornをWebサーバーとして設定すると、Memcachedからモデルオブジェクトを読み取るときに次のエラーが発生し続けます。
これはすべての読み取りで発生するわけではありませんが、定期的に大きな問題になるほどです。これは、複数のUnicornワーカープロセスを生成した場合にのみ発生します。
以下は私のunicorn.rbファイルです:
また、次のものがアクティブになっています。
Unicornのworker_process(worker_processes 1)を1つだけ生成すると、すべて正常に機能します。config.threadsafeを設定してみました!application.rbにあり、これは複数のワーカーには役立ちません。
必要なクラス/モジュールが必要ないようで、理由がわかりません。
編集:applicaton.rbファイルに以下を追加して、gemをrailsの自動ロードパスに追加しようとしましたが、成功しませんでした:
次のように、application_controller.rbrequire_dependency'shopify_api'にも追加しました。
しかし、これがrequire_dependencyを実行する正しい方法であるかどうかはわかりません。欠落しているクラスは、ShopifyAPI :: Order::ClientDetailsであるためです。
何か案は?ありがとう :)
ruby - Dalliは文字列のみをキャッシュしますか?(memcacheの初心者)
その場合、JSONとして保存するのが最善ですか?
ドキュメントを調べましたが、明示的に確認されていません。
ruby-on-rails - Dalliはすべてのボックスのキャッシュを期限切れにしますか?
https://github.com/mperham/dalliによると、複数のMemcacheサーバーを構成できます。しかし、それがどのように機能するかはわかりません。
memcache1(box1)とmemcache2(box2)の2つのサーバーでmemcacheクラスターを使用していると仮定します。
- ユーザーAとユーザーBは同じリソースを共有します。
- ユーザーログインして、box1にキャッシュされている共有リソースを読み取ります。
- ユーザーBがログインし、box2にキャッシュされている共有リソースを読み取ります。
- ユーザーAは共有リソースを更新し、box1のキャッシュを期限切れにします
- ユーザーBは更新されたリソースを表示せず、box2にキャッシュされます。
これまでのところ私の理解ですが、クラスター環境でキャッシュの有効期限がどのように機能するかはわかりません。特に、キャッシュを積極的に期限切れにしたい場合、すべてのボックスで期限切れになりますか?
2つのレールサーバーでこのような同じ構成があるとすると、次のようになります。
このユースケースについてどう思いますか?
ご関心をお寄せいただきありがとうございます。