Hinweis: Redis unterstützt mehrere Datenbanken, und die Daten jeder Datenbank sind isoliert und können nicht gemeinsam genutzt werden und basieren nur auf einem einzelnen Computer. Wenn es sich um einen Cluster handelt, gibt es keine Konzept einer Datenbank.
Der Grund, warum Redis in so viele Datenbanken unterteilt ist, besteht darin, verschiedene Unternehmen in verschiedenen Bibliotheken zu unterscheiden, aber ein Redis wird im Allgemeinen für ein Projekt verwendet. Verwenden Sie eine Bibliothek, damit es nicht zu Datenüberschneidungen kommt.
Redis ist ein Speicherserver mit Wörterbuchstruktur. Tatsächlich stellt eine Redis-Instanz mehrere Wörterbücher zum Speichern von Daten bereit. Der Client kann angeben, in welchem Wörterbuch die Daten gespeichert werden sollen. Dies ähnelt der bekannten Tatsache, dass in einer relationalen Datenbankinstanz mehrere Datenbanken erstellt werden können, sodass jedes Wörterbuch als unabhängige Datenbank verstanden werden kann.
Jede Datenbank wird mit einer aufsteigenden Nummer beginnend bei 0 benannt. Redis unterstützt standardmäßig 16 Datenbanken (weitere können über Konfigurationsdateien unterstützt werden, keine Obergrenze) , die nach Datenbanken konfiguriert werden können um diese Nummer zu ändern. Nachdem der Client eine Verbindung mit Redis hergestellt hat, wählt er automatisch Datenbank Nr. 0 aus, Sie können die Datenbank jedoch jederzeit mit dem SELECT-Befehl ändern. Wenn Sie Datenbank Nr. 1 auswählen möchten:
redis> SELECT 1 OK redis [1] > GET foo (nil)
Diese mit Nummern benannten Datenbanken unterscheiden sich jedoch von unserer. Das Verständnis der Datenbank ist anders.
Zuallererst unterstützt Redis keine benutzerdefinierten Datenbanknamen. Jede Datenbank wird nach einer Nummer benannt.
Darüber hinaus unterstützt Redis nicht das Festlegen unterschiedlicher Zugriffskennwörter für jede Datenbank, sodass ein Client entweder auf alle Datenbanken zugreifen kann oder nicht die Berechtigung hat, auch nur auf eine Datenbank zuzugreifen.
Der wichtigste Punkt ist, dass mehrere Datenbanken nicht vollständig isoliert sind. Beispielsweise kann der FLUSHALL-Befehl die Daten in allen Datenbanken in einer Redis-Instanz löschen.
Zusammenfassend lässt sich sagen, dass diese Datenbanken eher einem Namespace ähneln und nicht zum Speichern von Daten verschiedener Anwendungen geeignet sind. Beispielsweise können Sie Datenbank Nr. 0 zum Speichern von Daten in der Produktionsumgebung einer Anwendung und Datenbank Nr. 1 zum Speichern von Daten in der Testumgebung verwenden. Die Verwendung von Datenbank Nr. 0 ist jedoch nicht zum Speichern geeignet Daten von Anwendung A und Datenbank Nr. 1 zum Speichern der Daten von Anwendung B verwenden. Es ist unterschiedlich, dass Anwendungen unterschiedliche Redis-Instanzen zum Speichern von Daten verwenden sollten.
Da Redis sehr leichtgewichtig ist, nimmt eine leere Redis-Instanz nur etwa 1 MB ein, sodass Sie sich keine Sorgen machen müssen, dass mehrere Redis-Instanzen viel zusätzlichen Speicher beanspruchen.
Das obige ist der detaillierte Inhalt vonWarum hat Redis 16 Bibliotheken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!