2012-06-09 14 views
1

Я все еще новичок в рамках Codeigniter. Сегодня я прочитал о кэшировании базы данных http://codeigniter.com/user_guide/database/caching.html и кэшировании веб-страниц http://codeigniter.com/user_guide/general/caching.html.Кэширование веб-страниц Codeigniter и кэширование баз данных как?

Я немного смущен, если кэширование базы данных имеет какой-то смысл после того, как просмотр страницы уже находится в кеше. Поэтому, если страница находится в кеше, она все равно не пойдет в базу данных.

Единственное, что я вижу в следующей ситуации: Если я загружаю 30 результатов из db, то используйте php для перетасовки результатов и вытащите результаты массива 10. В следующий раз, когда кеш-страница будет удалена, у меня все равно будет 30 результатов из db в кеше, но на этот раз будут разные результаты после тасования этих 30 результатов.

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

ответ

4

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

В этом случае вы захотите установить кеширование страницы на короткий период времени и каждый раз получать новые данные из базы данных при использовании одних и тех же постоянных данных без запроса базы данных.

Пример: скажем, что ваши частые данные необходимо обновлять каждые 5 минут, в то время как постоянные данные изменяются каждые 24 часа. В этом случае вы установите кеширование страниц на 5 минут. В течение 24 часов вы запросили базу данных 288 раз для частых данных, но запросили для постоянных данных только один раз. Он насчитывает 289 запросов вместо 576, если вы не использовали кэширование базы данных.