@prizrak39

Как правильно организовать кэш приложения?

Здравствуйте.

Имеется задача реализации кэша для простой соц сети - бэкенд для мобильного приложения.
Хочу в качестве инструмента для кэширования использовать memcached.
Правильно ли думаю что необходимо отдельное приложение, которое постоянно будет отслеживать изменения в основной БД и поддерживать кэш в актуальном состоянии?
Или это лишнее и работу с кэшем необходимо реализовать только на уровне API?

Заранее спасибо.
  • Вопрос задан
  • 948 просмотров
Пригласить эксперта
Ответы на вопрос 3
jaxtr
@jaxtr
JavaEE/Spring-разработчик
Иметь отдельное приложение для отслеживания актуальности кэша - дополнительная (ненужная) головная боль.
Лучше будет реализовать корректное использование кэша:
  • При запросе записи, кэшировать возвращённый результат
  • При изменении/удалении записи, обновлять/удалять кэш
  • При бездействии кэша (невостребованности в течение некоторого времени), удалять


В Java EE и Spring это всё настраивается аннотациями.
Ответ написан
Комментировать
@D3lphi
Если вы будете постоянно следить за изменением данных и обновлять кэш, то какой тогда смысл в нем? Вся суть кэша, в том, чтобы избавиться от достаточно длительных, частых запросов к базе данных, дабы увеличить скорость работы вашего приложения. То, что данные в кеше будут не самые актуальные - норма. Важно понимать, что кешировать нужно те данные, которые изменяются относительно редко, иначе, преимущество от его использования будет небольшое.
Ответ написан
Комментировать
@prizrak39 Автор вопроса
Тогда опишу чуть более подробнее суть проблемы. У меня есть некая информация о пользователе и мне необходимо ее дополнять, то есть не полностью загружать заново, а именно дополнять. Вот я подумал что могу использовать для этого кэш.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы