Das von der Firma betriebene Produkt verwendet AWS Redis als Cache-Server, ist jedoch für meinen eigenen Gebrauch teuer und kann nur über die VPC aufgerufen werden (obwohl dies über einen Proxy erfolgen kann). Es ist ein Ärger, also habe ich nach etwas anderem gesucht, das als Cache-Server verwendet werden kann.
Ich denke, der einfachste Weg ist es, es in den lokalen Speicher zu stellen, was gut zum Testen ist, aber oft nicht genug für die Produktion.
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'LOCATION': 'default',
'TIMEOUT': 24 * 60 * 60
}
Erstellen Sie eine Tabelle in der Datenbank, erstellen Sie darin Cache-Daten und lesen Sie sie. Natürlich wird die Belastung der Datenbank zunehmen und die Größe der Datenbank wird zunehmen.
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
'LOCATION': 'cache_table',
'TIMEOUT': 24 * 60 * 60
}
}
Es ist wichtig, einen Tisch zu machen.
python manage.py createcachetable
Ich dachte, dass AWS nicht verwendet werden kann und dass Speicher und Datenbank schwierig sind, was ein Firebase-Dienst ist, den ich heutzutage oft benutze. Wenn ich mir Firebase anschaue, frage ich mich, ob es Leute gibt, die Pakete machen. https://github.com/christippett/django-firebase-cache
Also habe ich mich für dieses Paket entschieden.
Es ist etwas komplizierter zu bedienen als das oben beschriebene.
Paketinstallation.
pip install django-firebase-cache
Set in CACHES.
CACHES = {
'default': {
'BACKEND': 'django_firebase_cache.FirestoreCache',
'LOCATION': 'collection_name',
'TIMEOUT': 24 * 60 * 60
}
}
Legen Sie die Firebase-Anmeldeinformationsdatei fest und übergeben Sie sie über den Pfad. Ich bin hier etwas verwirrt, aber ich muss den Pfad wie folgt an die Umgebungsvariable "GOOGLE_APPLICATION_CREDENTIALS" übergeben. Die Dokumentation ist überhaupt nicht vollständig ...
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = './client_credentials.json'
Damit sind die Einstellungen abgeschlossen. Wenn Sie es jetzt tatsächlich verschieben, können Sie sehen, dass die Daten im FireBase FireStore gespeichert sind.
Obwohl bis zu diesem Zeitpunkt eine Einlösung möglich geworden ist, wurde die Obergrenze des kostenlosen Kontingents unerwartet bald erreicht. .. In diesem Fall wird natürlich ein Fehler zurückgegeben, aber die Site war mehrere Stunden lang ohne Verarbeitung tot, um den Fehler zu vermeiden. ..
Lassen Sie uns dafür bezahlen oder den Fehler behandeln.
Recommended Posts