2013-06-10 4 views
0

Бэкэнд Django всегда динамичен. Он служит для приложения iOS, аналогичного приложению Instagram и Vine, где пользователи загружают фотографии/видео и их последователи могут комментировать и как контент. Просто ради этого вопроса представьте, что мой бэкенд служит для приложения iOS, которое точно так же, как и Instagram.Использование memcached с динамическим back-back django

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

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

Это проблема, о которой я уже давно размышлял. Я мог кэшировать данные профиля пользователя, но кроме этого, я не знаю, где еще будет полезен memcached.

Другие источники, упоминаемые с использованием его везде в бэкэнд, где выполняется вызов «GET», но тогда мне нужно установить подходящий временной интервал для истечения срока действия кеша, поскольку приложение всегда динамично. Каковы ваши решения и предложения по решению этой проблемы?

ответ

1

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

  1. Cache наиболее частые запросы, основанные на категории картин
  2. Cache на основе пользователей - пользователи питания идут в кэш (те, которые делают много доступа к данным)
  3. кэш самые последние вкладыши (в Если у вас есть страница с недавно добавленными сообщениями/фотографиями)

Уверен, что вы можете придумать больше сценариев. Я уверен, что memcached (или любое другое кэширование) поможет, даже если ваше приложение очень «динамично».

+0

Спасибо за быстрый ответ. Сид, я никогда не пробовал memcached раньше, так что это будет мой первый выстрел в него, надеюсь, он хорошо работает для меня в моем стеке. – noahandthewhale

+0

Конечно. Просто запомните ограничение 1 МБ. Вы всегда можете блокировать свой запрос и хранить манифест, если ваши запросы превышают это. Удачи. – Sid

Смежные вопросы