Направляющие на запрос хешируют?

library(plyr)
ddply(tbl, .(Category), summarise, sum = sum(Frequency))
15
задан Wayne Kao 19 March 2009 в 01:04
поделиться

5 ответов

Попробуйте PerRequestCache . Я украл дизайн из кэша запросов SQL.

Настройте его в config / environment.rb с помощью:

config.middleware.use PerRequestCache

, затем используйте его с:

PerRequestCache.fetch(:foo_cache){ some_expensive_foo }
5
ответ дан 1 December 2019 в 04:53
поделиться

Глобальные переменные являются злыми. Разработайте, как чисто передать данные, которые Вы хотите туда, где Вы хотите использовать их.

1
ответ дан 1 December 2019 в 04:53
поделиться

Вы рассмотрели флэш-память? Это использует Сессию, но автоматически очищено.

0
ответ дан 1 December 2019 в 04:53
поделиться

Memoisation?

Согласно этот railscast это хранится на запрос.

0
ответ дан 1 December 2019 в 04:53
поделиться

app/models/my_cacher.rb

class MyCacher
  def self.result
    @@result ||= begin
      # do expensive stuff
      # and cache in @@result
    end
  end
end

|| = синтаксис в основном означает, "делают следующее, если @@ результатом является ноль" (т.е. не набор к чему-нибудь уже). Просто удостоверьтесь, что последняя строка в начать/закончить блоке возвращает результат.

Тогда в Вашем views/models/whatever Вы просто сослались бы на функцию при необходимости в нем:

MyCacher.result

Это будет кэшировать дорогое действие на время запроса.

-3
ответ дан 1 December 2019 в 04:53
поделиться
Другие вопросы по тегам:

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