#api

Кэширование — это один из способов оптимизации Web приложений.

Наиболее популярная технология кеширования для Web приложений — Memcache

Реализация через HTTP, заголовки

Сторонние: REDDIS, MemCaсhe

GET, POST кэшируем

PUT, DELETE не кэшируем

Когда нужно кэшировать

Старайтесь избегать кэширования, пока в этом не будет прямой необходимости.

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

  • Результаты запросов к внешним сервисам (RSS, SOAP, REST и т.п.).

  • Результаты медленных выборок из базы данных.

  • Сгенерированные html блоки либо целые страницы.

Обновление данных

Если Вы кэшируете данные, которые могут обновляться, необходимо очищать кэш после каждого обновления:

можно использовать дополнительный кэш внутри самого приложения

Pasted image 20240602212318.png## Подогревание

При обновлении особенно тяжелых данных следует использовать не сброс кэша, а прямое обновление данных в нем:

LRU

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

Темы

Горячий кэш

Холодный кэш

Последнее обновление