Кеширование — (англ. cache, от фр. cacher — «прятать») — буфер с быстрым доступом, содержащий информацию, которая может быть запрошена с наибольшей вероятностью. Доступ к подгтовленным данным в кэше идёт быстрее, чем например выборка исходных данных из базы данных и подгтовка их к выводу с помощью PHP скрипта, за счёт чего уменьшается среднее время доступа и увеличивается общая производительность компьютерной системы.
Касательно yii, кеширование это не только быстро но и очень просто!
Первым делом нам надо включить кеширование, добавив всего одну строку в основной конфиг приложения, например, если мы хотим хранить кеш в файлах, это:
Всё, кеш у нас включен.
Далее в шаблоне пишем:
Готово, наш шаблон успешно кешируется на 60 секунд (время по умолчанию).
Если вы хотите использовать memcache, или любой другой, из списка поддерживаемых фреймворком, то просто меняем в конфиге одну строку:
— в случае мемеша еще нужно указать хост и порт, на котором висит мемкеш.
Для удобства разработки и отладки можно отключить кеш, испльзуя «заглушку»:
— функциональность приложения не пострадает, но кеш будет отключен.
В общем это всё, что нужно чтобы начать пользоваться кешированием.
Есть еще горстка функционала, такое как зависимость кеша от внешних параметров, время кеширования, кеширование данных в контроллерах и т.п. — это всё прекрасно поисано в документации фреймворка и не сложнее чем кеширование шаблонов описанное выше.
Итак, чтобы начать использовть кешировать своих щаблонов требуется только два действия: 1. включить кеш в конфиге, 2. указать в шаблонах какой фрагмент должен кешироваться.
Одного этого в большинстве случаев достаточно, чтобы снизить нагрузку на процессор и базу данных на порядок.
К примеру на php.ru использование кеша снизило нагрузку на процессор примерно в 15-20 раз! На базу данных примерно в 10 раз.


Кеш — великая сила :)
Касательно yii, кеширование это не только быстро но и очень просто!
Первым делом нам надо включить кеширование, добавив всего одну строку в основной конфиг приложения, например, если мы хотим хранить кеш в файлах, это:
'components'=>array(
…
'cache'=>array('class'=>'system.caching.CFileCache'),
…
Всё, кеш у нас включен.
Далее в шаблоне пишем:
<?php if($this->beginCache('уникальный_идентификатор')) { ?>
html-код нашего шаблона, если надо c переменными<?php echo $content; ?>
<?php $this->endCache(); } ?>
Готово, наш шаблон успешно кешируется на 60 секунд (время по умолчанию).
Если вы хотите использовать memcache, или любой другой, из списка поддерживаемых фреймворком, то просто меняем в конфиге одну строку:
'cache'=>array('class'=>'system.caching.CMemCache', 'servers'=>array(array('host'=>'localhost', 'port'=>'11211', 'weight'=>'100'),),
),
— в случае мемеша еще нужно указать хост и порт, на котором висит мемкеш.
Для удобства разработки и отладки можно отключить кеш, испльзуя «заглушку»:
'class'=>'system.caching.CDummyCache',
— функциональность приложения не пострадает, но кеш будет отключен.
В общем это всё, что нужно чтобы начать пользоваться кешированием.
Есть еще горстка функционала, такое как зависимость кеша от внешних параметров, время кеширования, кеширование данных в контроллерах и т.п. — это всё прекрасно поисано в документации фреймворка и не сложнее чем кеширование шаблонов описанное выше.
Итак, чтобы начать использовть кешировать своих щаблонов требуется только два действия: 1. включить кеш в конфиге, 2. указать в шаблонах какой фрагмент должен кешироваться.
Одного этого в большинстве случаев достаточно, чтобы снизить нагрузку на процессор и базу данных на порядок.
К примеру на php.ru использование кеша снизило нагрузку на процессор примерно в 15-20 раз! На базу данных примерно в 10 раз.


Кеш — великая сила :)