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 просто запрещает кэш локальной памяти или имитирует его, чтобы он всегда возвращался пустым.