Memcache работает на локальном хосте (без настроек в settings.py)

Мой вопрос "кто-нибудь может подтвердить или объяснить?" Следующая логика кэширования работает как положено на localhost, но не работает на heroku (запросы каждый раз):

from django.core.cache import cache
QUEUE_KEY = "queue"
def index(request):
  queue = cache.get(QUEUE_KEY)
  if not queue:
      queue = QueueItem.objects.order_by("id")
      cache.set(QUEUE_KEY, queue)
  c = {'queue': queue}
  return render_to_response('index.html', c)

1 ответ

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

Я предполагаю, что вы следовали этому руководству, но не настроили CACHE в вашем settings.py использовать дополнение MemCachier. Я просто сделал то же самое, и да, он не использует кеш на Heroku. Чтобы ответить на комментарий @dahrens, ошибки нет. Я предполагаю, что Heroku просто запрещает кэш локальной памяти или имитирует его, чтобы он всегда возвращался пустым.

Другие вопросы по тегам