Ich habe von Redis-Cache gehört, aber wie genau funktioniert es? Wird es als Ebene zwischen django und meinen rdbms verwendet, indem die rdbms-Abfragen irgendwie zwischengespeichert werden?
Oder soll es direkt als Datenbank verwendet werden? Was ich bezweifle, da diese Github-Seite keine Anmeldedaten enthält, kein Setup. Sie werden lediglich aufgefordert, eine Konfigurationseigenschaft festzulegen.
Nur weil Redis Dinge im Speicher speichert, heißt das nicht, dass es sich um einen Cache handelt. Ich habe Leute gesehen, die es als dauerhaften Speicher für Daten verwendeten.
Dass es als Cache verwendet werden kann, ist ein Hinweis darauf, dass es als Hochleistungsspeicher nützlich ist. Wenn Ihr Redis-System ausfällt, verlieren Sie möglicherweise Daten, die nicht erneut auf die Festplatte geschrieben wurden. Es gibt einige Möglichkeiten, solche Gefahren zu mindern, z. B. eine Hot-Standby-Replik. Wenn Ihre Daten "geschäftskritisch" sind, z. B. wenn Sie eine Bank oder ein Geschäft betreiben, ist Redis möglicherweise nicht die beste Wahl für Sie. Wenn Sie jedoch ein stark frequentiertes Spiel mit dauerhaften Live-Daten oder sozialem Interaktionsmaterial schreiben und die Wahrscheinlichkeit eines Datenverlusts als akzeptabel akzeptieren, ist Redis möglicherweise einen Blick wert.
Wie auch immer, der Punkt bleibt, ja, Redis kann als Datenbank verwendet werden.
quelle
Redis ist im Grunde ein 'in Memory'-KV-Laden mit vielen Schnickschnack. Es ist äußerst flexibel. Sie können es als temporären Speicher wie einen Cache oder als permanenten Speicher wie eine Datenbank verwenden (mit Einschränkungen, wie in anderen Antworten erwähnt).
In Kombination mit Django besteht der beste / häufigste Anwendungsfall für Redis wahrscheinlich darin, "Antworten" und Sitzungen zwischenzuspeichern.
Hier gibt es ein Backend https://github.com/sebleier/django-redis-cache/ und eine hervorragende Dokumentation in den Django-Dokumenten hier: https://docs.djangoproject.com/de/1.3/topics/cache/ .
Ich habe vor kurzem angefangen zu verwenden https://github.com/erussell/django-redis-status zur Überwachung meines Caches zu verwenden - das ist ein Zauber. (Konfigurieren Sie maxmemory auf redis oder die Ergebnisse sind nicht so nützlich).
quelle
Sie können Redis auch als Warteschlange für verteilte Aufgaben in Ihrer Django-App verwenden. Sie können es als Nachrichtenbroker für Sellerie oder Python RQ verwenden .
quelle
Redis als Primärdatenbank
Ja, Sie können den Redis-Schlüsselwertspeicher als Primärdatenbank verwenden. Redis speichert nicht nur Schlüssel-Wert-Paare, sondern unterstützt auch verschiedene Datenstrukturen wie
Redis Datentypen Offizielles Dokument
Redis befindet sich im Speicherschlüsselwertspeicher. Wenn ein Redis-Serverfehler auftritt, müssen Ihre Daten verloren gehen.
Redis kann auch die Überprüfung des offiziellen Dokuments fortsetzen.
Redis Persistence Official doc
Redis als Cache
Ja, Redis wohnen zwischen Django und RDBMS.
Wie es funktioniert
Djangos Cache-Framework Official Doc
Wie kann man Redis mit Django benutzen?
Wir können den Redis Python Client Redis-Py für die Django-Anwendung verwenden.
Redis Python-Client redis-py Github
Wir können Django-Redis für das Django- Cache-Backend verwenden.
Django-Redis bauen auf Redis-Py und hat zusätzliche Funktionen im Zusammenhang mit der Django-Anwendung hinzugefügt.
Django-redis doc Github
Es gibt auch andere Bibliotheken.
Redis Anwendungsfälle und Datentypen
Einige Anwendungsfälle
Top Redis-Anwendungsfälle nach Kerndatenstrukturtypen
Big Tech-Unternehmen, die Redis einsetzen
quelle