Записи журнала Mongrel CACHE, в частности записи CACHE для операторов SQL - PullRequest
0 голосов
/ 10 августа 2010

В процессе просмотра журналов от Mongrel я нашел несколько операторов SQL, которые я хотел оптимизировать.Просматривая их, я заметил, что перед этими записями иногда находится CACHE, например:

CACHE (0.0ms)   SELECT * FROM `customers` WHERE (`customers`.`id` = 35) 

Учитывая время выполнения, я предполагаю, что Mongrel действительно кэширует эти данные.Мой вопрос, как это настроено?Я не смог найти много онлайн о кешировании данных модели;Большая часть того, что я прочитал, связана с кэшированием статических страниц или фрагментов страниц.Я не сделал ничего явно, чтобы включить это кэширование, поэтому я просто ищу указатель на то, как он настроен и как он работает.Заранее спасибо!

1 Ответ

1 голос
/ 10 августа 2010

Это на самом деле не имеет ничего общего с дворнягой.Rails делает ActiveRecord::Base.cache вокруг каждого действия контроллера по умолчанию.Это означает, что в рамках этого действия он будет кэшировать результаты запросов и предоставлять результаты из кэша, а не снова попадать в базу данных.Вы должны увидеть идентичный запрос выше в журнале (в рамках того же действия), которому не предшествует CACHE, который является исходным запросом, для которого были сохранены результаты.*.

...