10

JSON出力を返すコントローラーインデックスアクションがあります。

render :json => my_array.to_json

ここで使用する必要があるキャッシュの種類は何ですか。「ページキャッシング」はこれに意味がありますか。

または、以下のようにアクションキャッシングを行う必要がありますか

caches_action :index
4

2 に答える 2

4

アクションキャッシングまたはページキャッシングのいずれかが正常に機能します。ページキャッシングには、Railsスタックを呼び出さないという利点がありますが、そのJsonフィードにアクセスするユーザーを制御する必要があるかどうかによって異なります。

ページキャッシングをうまく利用できれば、私はページキャッシングを使用するのが大好きです。システムリソースを大幅に節約できます。:)


編集:混乱があった場合のページキャッシュの例:

class SomeController < ApplicationController
  caches_page :index
  def index
    render :json => my_array.to_json
  end
end

私が何かを誤解していない限り、それがあなたがする必要があるすべてであるはずです。

于 2010-05-12T07:13:16.547 に答える
2

JSONには、他の出力と同じ考慮事項を適用する必要があります。ユーザーのデータへのアクセスを検証する必要がある場合は、アクションキャッシュが最適です。そうでない場合は、ページキャッシュで問題ありません。

アプリのロジックが原因でデータが変更された場合は、どちらの形式のキャッシュにも問題があるため、別のものを使用することをお勧めします。

于 2010-05-12T07:23:24.887 に答える