Шаблон проектирования для кэширования динамического пользовательского контента (в django) - PullRequest
1 голос
/ 05 декабря 2011

На моем веб-сайте я собираюсь указать баллы за некоторые действия, аналогично stackoverflow.Я хотел бы рассчитать значение, основываясь на многих факторах, поэтому каждое вычисление для каждого пользователя будет принимать, например, 10 SQL-запросов.

Я думал о его кэшировании:

  • в memcache,
  • в строке пользователя в базе данных (так что, где бы мне ни потребовалось получить пользователя из базы, я легко показываю точки)

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

1 Ответ

1 голос
/ 05 декабря 2011

Я очень рекомендую это приложение для хранения рассчитанных значений в модели: https://github.com/initcrash/django-denorm

Memcache работает быстрее, чем БД ... но если вам все равно придется извлекать запись из БДкэширование вычисленных значений в извлекаемых строках (в виде «денормализованного» поля) происходит еще быстрее, плюс оно сохраняется.

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