Кэширование веб-страниц Codeigniter и кэширование базы данных?

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

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

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

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

1 ответ

Решение

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

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

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

Другие вопросы по тегам