Правила кеширования
Кеширование - это один из способов оптимизации приложений (улучшение производительности, масштабирование и т.д.). Кешировать можно практически все - результаты выборок из СУБД, данные от внешних сервисов, статические данные (например, картинки), HTML (если страницы не интерактивные)…
В этой статье мы поговорим о кешировании на уровне приложения. Обычно, наиболее узким местом в приложении является СУБД (как правило, она еще и реляционная). Ранее мы писали о масштабировании и оптимизации СУБД. Теперь поговорим о кешировании и о том, когда и как его следует использовать.
Внедрение систем кеширования
Кеширование не является обязательной составляющей любых систем. Это средство повышения производительности и, как следствие, увеличения нагрузочной способности системы.
Часто на этапе разработки совершают большую ошибку, когда внедряют кеширование всего и везде.
Это отнимает время, к тому же Вы еще не знаете, какое место в системе и когда станет узким. Кеширование необходимо внедрять в уже работающих системах за редким исключением (когда, например, Вы разрабатываете модуль к работающей системе и точно можете оценить его нагрузку).
Не смотря на это, на этапе проектирования и разработки необходимо учитывать дальнейшее внедрение (стадии роста и расширения) кеширования в потенциально нагруженных подсистемах (например, СУБД и Web сервисы).
Следовательно, не делайте лишнюю работу заранее, но закладывайте возможность быстрого внедрения кеширования в рабочие версии.