Как настроить memcached для Django 3.0 на App Engine?

Итак, у меня есть приложение Django 3.0, которое я хочу развернуть на App Engine. Я хочу использовать Memcached для кэширования данных, которые были извлечены из BQ для моего приложения Django. На данный момент я настроил Django's views.py следующим образом:

from google.appengine.api import memcache

def index(request):
     cached_data = memcache.get('cached_data')
     
     if not cached_data:
          # Syntax to pull data here
          memcache.add(key='cached_data', value='pulled_data', time=3600)

Моя app.yaml также включает

app_engine_apis: true

Однако после развертывания приложения с помощью gcloud app deploy и открытия веб-приложения я получаю 500 Server Error. Я полагаю, что эта ошибка связана с Memcached, но я не уверен, что именно я упускаю.

Дополнительное примечание: Я не устанавливал никаких CACHES в моем settings.py, поскольку ни один из них не был упомянут на сайте GCP. Я использовал это во время разработки локально:

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.PyMemcacheCache',
        'LOCATION': '127.0.0.1:11211',
    }
}

Но затем я удалил его прямо перед развертыванием на App Engine.

Я пробовал следовать этому SO Answer, но у меня ничего не получилось.

Я бы не советовал использовать этот вариант, поскольку он предполагает использование среды Python2 Google App Engine. Python2 очень устарел и в настоящее время больше не поддерживается сообществом.

Лучшим вариантом будет использование среды исполнения Python3 и вместо Memcache использование Firestore для хранения данных. Firestore - это база данных документов NoSQL, созданная для автоматического масштабирования, высокой производительности и простоты разработки приложений.

Вернуться на верх