Как кэшировать рендеринг: json

У меня есть индексное действие контроллера, которое возвращает вывод json.

render :json => my_array.to_json

Какое кэширование делают я должен использовать здесь. Действительно 'разбивает на страницы кэширование', имеют смысл для этого.

Или сделайте я должен сделать действие, кэширующееся как ниже

caches_action :index
9
задан iwasrobbed 31 August 2013 в 15:26
поделиться

2 ответа

Либо кэширование действий, либо кэширование страниц будет работать хорошо; кэширование страниц имеет преимущество в том, что никогда не вызывается стек Rails, но это зависит от того, нужно ли вам контролировать, кто получает доступ к этой Json-ленте.

Я большой поклонник использования кэширования страниц, если вы можете избежать этого - можно получить большую экономию системных ресурсов. :)


EDIT: Пример кэширования страниц, если возникла путаница:

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

Если я ничего не перепутал, это все, что вам нужно сделать.

3
ответ дан 3 November 2019 в 07:12
поделиться

К JSON следует учитывать те же соображения, что и к любому другому выводу. Если вам нужно проверить доступ к данным для пользователя, то кеширование действий - это выход, в противном случае кеширование страниц должно быть нормальным.

Если данные изменяются из-за логики вашего приложения, то обе формы кеширования проблематичны, и вам лучше использовать что-нибудь другое.

2
ответ дан 3 November 2019 в 07:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: