問題タブ [page-caching]
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のページキャッシングとHTTPリバースプロキシキャッシュ
私はScalingRailsのスクリーンキャストに追いついてきました。高度なHTTPキャッシング(VarnishやSquidなどのリバースプロキシキャッシュを使用)をカバーするエピソード11では、Railsアプリケーション内のページ、アクション、フラグメントキャッシングの可能性をすでに使い果たした後でのみ、リバースプロキシキャッシュの使用を検討することをお勧めします。 (memcachedなども同様ですが、この質問には関係ありません)。
私が完全に理解できないのは、HTTPリバースプロキシキャッシュを使用すると、すでにページキャッシュを使用しているアプリケーションのパフォーマンスがどのように向上するかということです。問題を単純化するために、ここで単一のホストについて話していると仮定しましょう。
これは、両方の手法がどのように機能するかについての私の理解です(おそらく私は間違っています):
ページキャッシングでは、Railsプロセスが最初にヒットし、その後、そのリクエストのキャッシュが有効である限り、後続のリクエストのためにWebサーバーによって直接提供される静的HTMLファイルを生成します。キャッシュの有効期限が切れている場合は、Railsが再度ヒットされ、静的ファイルが再生成され、更新されたコンテンツが次のリクエストに対応できるようになります。
HTTPリバースプロキシキャッシュを使用すると、プロキシがコンテンツが古くなっているかどうかを判断する必要がある場合に、Railsプロセスがヒットします。
ETag
これは、などのさまざまなHTTPヘッダーを使用して行われますLast-Modified
。コンテンツが新しい場合、RailsはHTTP 304 Not Modifiedでプロキシに応答し、プロキシはキャッシュされたコンテンツをブラウザに提供します。さらに良いのは、独自のHTTP304で応答することです。 。コンテンツが古くなっている場合、Railsは更新されたコンテンツをプロキシに提供します。プロキシはコンテンツをキャッシュしてからブラウザに提供します。
私の理解が正しければ、ページのキャッシュによってRailsプロセスへのヒットが少なくなるのではないでしょうか。コンテンツが古くなっているかどうかを判断するために行ったり来たりすることはすべてありません。つまり、リバースプロキシキャッシングよりもパフォーマンスが優れています。なぜ両方の手法を組み合わせて使用するのでしょうか。
ruby-on-rails - Rails での時限ページキャッシュ
私が取り組んでいるプロジェクトでは、コントローラーの外部 API からデータを要求しており、それがビューに表示されます。最近、API への過度の呼び出しが原因であるレート制限が原因でスローされる例外に遭遇し始めました。これを修正するには、ある種のキャッシング システムを実装する必要があると想定しています。Rails のページ キャッシングについて調べてみましたが、自分のデータベースのモデルを使用していないため、問題は解決していないようです。そのため、定期的にページをキャッシュして、API を介して頻繁に新しいデータを要求できるようにする簡単な方法があるかどうか疑問に思っていました。
これが理にかなっていることを願っています-私はRuby on Railsにかなり慣れていないため、これまでにいかなる種類のキャッシュシステムも使用したことがありません.
ruby-on-rails - Railsページのキャッシュとフラッシュメッセージ
サイトの大部分をページキャッシュできると確信していますが、そうすることを妨げているのは、フラッシュメッセージが表示されないか、間違った時間に表示されることです。
私が検討していることの1つは、フラッシュメッセージをCookieに書き込み、それを読み取ってjavascriptで表示し、メッセージが表示されたらCookieをクリアすることです。誰かがこれを行うことに成功したことがありますか、それともより良い方法がありますか?
ありがとう。
ruby-on-rails - ページ内管理によるRailsページキャッシング
自分が運営している Rails サイトでページ キャッシングを使用したいと考えています。各ページの情報はほとんど一定ですが、情報を収集するために実行する必要があるクエリは複雑で、場合によっては遅くなる可能性があります。ページ キャッシュを使用する唯一の障害は、管理インターフェイスがメイン サイトに組み込まれていることです。関心のあるページを離れずに管理操作を実行できること。
Apache+mod_rails (Passenger) を使用しています。現在のユーザーがセッション変数または 'admin'* という名前の Cookie を持っている場合、.html ファイルを無視する必要があることを Apache に示す方法はありますか? セッション変数は、有効性について Apache によって評価される必要はありません (この場合は Rails によって評価されるため)。
ruby-on-rails - レールの機能テストでページキャッシュを有効にする方法は?
機能テストのためにページキャッシュを有効にすることはできますか? 以下は機能しませんでした:
前もって感謝します
デブ
ruby-on-rails - render :json をキャッシュする方法
JSON出力を返すコントローラーインデックスアクションがあります。
ここで使用する必要があるキャッシュの種類は何ですか。「ページキャッシング」はこれに意味がありますか。
または、以下のようにアクションキャッシングを行う必要がありますか
ruby-on-rails - ヒット/ビュー カウンターを使用した Rails ページ キャッシング。どのように?
Rails のページ キャッシングを使用して、負荷の高いアプリケーションを高速化したいと考えています。しかし、提示されたオブジェクトのヒット/ビューもカウントする必要があります。そのため、ユーザーが show アクションをヒットするたびに呼び出される独自のヒット カウンター メソッド (IP による) を備えたモデル "Article" があります。それはキャッシングではうまくいかないので、この問題を解決する正しい方法について疑問に思っています。カウンターがリアルタイムの結果を表示する必要はありません。
これまでの考え:
- Cron と Rake タスクを使用して、log/production.log ファイルを分析します。
- カスタム ログに書き込みます (方法? nginx を使用)
ご意見、アイデア、またはベスト プラクティスの例をお寄せいただきありがとうございます。
asp.net - ユーザーコントロールでページレベルのキャッシュをオフにする
次のキャッシュが定義されたページがあります。
そのページ内に、キャッシュしたくないユーザーコントロールがあります。そのコントロールのためだけにオフにするにはどうすればよいですか?
parameters - Rails3のルートとリソースの追加パラメーター
新しいRailsルートは多くの面で優れていますが、Rails 2.xの場合と同じように、ページとフォーマットを使用してページキャッシュを実現するための最良の方法を探しています。
私は基本的な公式の多くの可能な望ましいルートを持っています:
ルートの例:
英語で:
私は以前、名前付きルートの束でこれを行うことができました:
しかし、これはRails 3では間違っているようで、ルーティングの問題を効率的に解決できるものが欠けていると思います。Rails 3ルーティングでこれらのルーティングパターンを実現するにはどうすればよいですか?
zend-framework - Zend Framework でレイアウト コンテンツをキャッシュする方法
Zend Framework でレイアウト コンテンツのキャッシュをどのように実装しますか?
layout.phtml
I do:で、$this->layout->content
この変数の内容をキャッシュしたい。レイアウトの他のウィジェットはリアルタイムです (または他の方法でキャッシュされます)。
最善の策は次のとおりです。
- 静的キャッシュ (最速)
- ページキャッシュ
私のページには既に一意のページ ID ( canonical
) があるため、ページ キャッシュ タグとして使用できます。
__get
レイアウトのプロパティをオーバーロードする必要があるようです。
SOのレイアウトのようなことをしようとしています(ユーザーパネルが一番上にあり、残りはすべてキャッシュされています)。
サイトは JavaScript なしで動作するはずだと思います。