Memcached варианты использования - PullRequest
1 голос
/ 12 января 2011

Какие примеры использования выиграют от использования memcached с MySQL DB. Я предполагаю, что это было бы хорошо для данных, которые не сильно меняются со временем.

Точнее, если мои данные часто меняются, то не стоит использовать memcached, верно?

Еще точнее, я пытаюсь использовать БД в качестве структуры данных для многопользовательской игры. Таким образом, записи будут меняться с каждым ходом игроков. И все взгляды игроков должны быть обновлены с последними ходами. Так что мое приложение интенсивно читает и пишет. Пытаясь понять, что я могу с этим поделать. Если я использую memcached, для каждой записи мы читаем максимум 3 раза, поскольку в игру одновременно могут играть не более 4 игроков.

Спасибо.

Pav

Ответы [ 3 ]

1 голос
/ 12 января 2011

Usecase: интернет-магазин с большим количеством товаров. Эти продукты присваиваются различным страницам, и для каждого продукта пользователь видит определенные спецификации. Спецификации вызываются с помощью функции "getSpec". Это дорого и требует времени.

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

так что если ваши данные изменятся, это все равно может стоить! Не все может измениться сразу.

edit: в вашем случае вы можете сделать запись и обновить memcached: нет устаревшего кэша. Но это просто случайная мысль, я не знаю, может ли сделать вашу запись более тяжелой, что-то невыгодное. По сути, это означает, что вы запускаете все из memcached и просто используете свою БД в качестве резервной копии:)

1 голос
/ 12 января 2011

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

Мы кэшируем все, что не требует данных в реальном времени.Некоторые вещи, которые обычно кэшируются: отчеты, пользовательский контент, целые страницы (хотя вы можете рассмотреть их кэширование на диск через какую-то другую систему) и т. Д.

Наш API позволяет клиентам запрашивать огромные объемы данных.Мы используем memcached для хранения этого для быстрой подкачки на стороне клиента.

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

0 голосов
/ 12 января 2011

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

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