Когда вы НЕ хотите использовать memcached в приложении Ruby on Rails? - PullRequest
4 голосов
/ 30 сентября 2008

Если в хранилище данных MySQL вы НЕ хотите использовать memcached в приложении Ruby on Rails?

Ответы [ 4 ]

10 голосов
/ 30 сентября 2008

Не используйте memcached, если ваше приложение способно быстро обрабатывать все запросы. Добавление memcached - это дополнительная ментальная нагрузка, когда дело доходит до кодирования вашего приложения, поэтому не делайте этого, если вам это не нужно.

У Скейлинга " одна проблема зыби для ".

6 голосов
/ 30 сентября 2008

Memcache - это сильный распределенный кеш, но он не быстрее локального кеширования для некоторого контента. Кэширование должно позволить вам избежать узких мест, как правило, запросов к базе данных и сетевых запросов. Если вы можете кэшировать свою полную страницу локально в виде HTML, потому что она не меняется очень часто (не очень динамично), то ваш веб-сервер может справиться с этим гораздо быстрее, чем запрос memcache. Это особенно верно, если ваш сервер memcache, как и большинство серверов memcache, находится на отдельных компьютерах.

Обратной стороной этого является то, что я иногда буду использовать memcache локально вместо других опций кэширования, потому что я знаю, что когда-нибудь мне потребуется перенести его на свой собственный сервер.

4 голосов
/ 02 апреля 2009

Основным преимуществом memcached является то, что это распределенный кеш. Это означает, что вы можете генерировать один раз и обслуживать из кэша на многих серверах (именно поэтому был создан memcached) Все предыдущие ответы, кажется, игнорируют это - это заставляет меня задуматься, приходилось ли им когда-либо создавать высокомасштабируемое приложение (именно для этого и предназначен memcached)

Danga Interactive разработал memcached повысить скорость LiveJournal.com, сайт, который был уже делает 20 миллионов + динамическая страница просмотров в день на 1 миллион пользователей с куча веб-серверов и куча серверы баз данных . Memcached упал загрузка базы данных практически к нулю, дает более быстрое время загрузки страницы для пользователи, лучшее использование ресурсов, и более быстрый доступ к базам данных на нехватка памяти.

(Мой смелый)

Таким образом, ответ таков: если ваше приложение может быть развернуто только на одном сервере.

Если вы когда-либо будете использовать более одного сервера (для масштабируемости и избыточности), memcached - это (почти) всегда хорошая идея.

0 голосов
/ 01 октября 2008

Когда вы хотите иметь детальный контроль над тем, что истекает. Из моих тестов memcached, похоже, имеет временное разрешение около секунды.

EG: если вы скажете, что срок действия чего-либо истекает через 1 секунду, он может сохраняться от 1 до 2 секунд.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...