Кэширование — это один из способов оптимизации Web приложений.
Наиболее популярная технология кеширования для Web приложений — Memcache
Реализация через HTTP, заголовки
Сторонние: REDDIS, MemCaсhe
GET, POST кэшируем
PUT, DELETE не кэшируем
Когда нужно кэшировать
Старайтесь избегать кэширования, пока в этом не будет прямой необходимости.
Кэшировать нужно данные, которые медленно генерируются и часто запрашиваются. На практике это обычно:
-
Результаты запросов к внешним сервисам (RSS, SOAP, REST и т.п.).
-
Результаты медленных выборок из базы данных.
-
Сгенерированные html блоки либо целые страницы.
Обновление данных
Если Вы кэшируете данные, которые могут обновляться, необходимо очищать кэш после каждого обновления:
можно использовать дополнительный кэш внутри самого приложения
## Подогревание
При обновлении особенно тяжелых данных следует использовать не сброс кэша, а прямое обновление данных в нем:
LRU
Любой кэш работает по принципу вытеснения если ему не хватает памяти. Т.е. если Memcache может использовать максимум 1G памяти, а Вы пытаетесь сохранить ключей на 2G, то половину из этих данных Memcache удалит.