Обьясните зачем конкретно нужны Redis и Memcached и можно ли их связать с технологиями как nodejs?

Здраствуйте

Подскажите для чего нужны технологии Redis and Memcached ?
Что именно являеться кэшем например в социальной сети ну или любом другом серьезном сайте?
и как понять нужно ли мне использовать эту технологию если я использую асинхронный бэк энд как nginx or nodejs?

Спасибо
  • Вопрос задан
  • 8177 просмотров
Пригласить эксперта
Ответы на вопрос 2
MarcusAurelius
@MarcusAurelius Куратор тега Node.js
автор Impress Application Server для Node.js
Кешировать можно все, что лежит на диске или в БД. Если бы Вы писали на чем-то вроде PHP, то был бы смысл в Memcached, просто поставив его между СУБД и приложением, кешируя результаты запросов можно значительно увеличить производительность. А вот использовать его с node.js я не вижу смысла, потому, что в ноде можно и так держать все в структурах данных в памяти приложения, ведь нодовские приложения "долгоиграющие", они не перезапускаются при каждом следующем GET/POST запросе и не освобождают память. Поэтому мы можем разместить в оперативной памяти кеш прямо внутри приложения и сэкономить на межпроцессовом взаимодействии (memcached это все же другой процесс). Но от межпроцессового взаимодействия все же нельзя полностью отказаться, если один процесс ноды не справляется, то нужно запускать несколько и приклеивать пользователей к процессам (ip sticky, cookie sticky), если же нужно будет организовать взаимодействие между двумя пользователями, приклеенными к разным процессам, то тут нам поможет Redis, ZMQ, RabbitMQ для передачи событий из процесса в процесс.
Ответ написан
Staltec
@Staltec
Node.js разработчик
Redis это memcached на стероидах. Он пригоден не только для кеша, но и для хранения любых состояний приложения (сессий, индексы, и т.п). В Redis всё это сохраняется на диск. После появления Redis`а, использовать memcached практически не имеет смысла.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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