1. Einführung
Wenn es um Lösungen mit hoher Parallelität und massiver Datenspeicherung geht, denken wir in den letzten Jahren an NoSQL-Datenbanken, und die entsprechenden Produkte sind natürlich voller Vitalität. Unter den vielen Produkten stechen Redis, MongoDB, BerkeleyDB und CouchDB hervor. Lassen Sie es uns im Folgenden kurz erklären.
(Lernvideo-Sharing: Redis-Video-Tutorial)
1. BerkeleyDB ist eine äußerst beliebte eingebettete Open-Source-Datenbank, die in mehreren Fällen für Speicher-Engines verwendet werden kann, bevor sie erworben wurde Dank der Oracle-Speicher-Engine kann davon ausgegangen werden, dass dieses Produkt über eine hervorragende Parallelitätsskalierbarkeit verfügt, Transaktionen und verschachtelte Transaktionen, massive Datenspeicherung und andere wichtige Funktionen unterstützt und einen äußerst hohen Nutzwert bei der Speicherung von Echtzeitdaten aufweist. Es sollte jedoch darauf hingewiesen werden, dass die Lizenz dieses Produkts GPL ist, was bedeutet, dass die Nutzung nicht in allen Fällen kostenlos ist. 2. MongoDB ist als Oriented-Document-Datenbankserver definiert und kann wie andere relationale Datenbankserver unabhängig ausgeführt werden. Aus der offiziellen Dokumentation dieses Produkts können wir erfahren, dass MongoDB hauptsächlich für Foren oder Blog-Websites mit hoher Parallelität geeignet ist. Die Hauptmerkmale dieser Websites sind hohe gleichzeitige Besuche, mehr Lesevorgänge und weniger Schreibvorgänge, große Datenmengen und einfache logische Beziehungen und Dokumente als primäre Datenquelle usw. Wie bei BerkeleyDB ist die Lizenz dieses Produkts GPL. 3. Redis ist ein typischer NoSQL-Datenbankserver, der unabhängig auf einem eigenen Server-Host als Dienstprogramm ausgeführt werden kann. Oft wird Redis nur als Schlüssel/Wert-Datenbankserver betrachtet, aber das ist nicht der Fall. In der aktuellen Version unterstützt Redis zusätzlich zu Schlüssel/Wert auch Datenstrukturen wie Liste, Hash, Satz und geordnete Menge , so dass die Verwendungsmöglichkeiten auch breiter sind. Zu diesem Missverständnis hat auch die offizielle Redis-Website eine entsprechende Klarstellung gegeben. Im Gegensatz zu den beiden oben genannten Produkten ist die Lizenz von Redis die Apache-Lizenz, die derzeit völlig kostenlos ist. 4. Memcached, Daten-Caching-Server. Warum wird hier eine Erklärung zu diesem Produkt gegeben? Sehr einfach, weil ich denke, dass es in Bezug auf die Verwendung Redis am ähnlichsten ist. Schließlich handelt es sich hier um eine technische Blogserie über Redis. Vor diesem Hintergrund werden wir diese beiden Produkte kurz vergleichen. Lassen Sie uns zunächst über den größten Unterschied zwischen ihnen sprechen. Sobald der Server ausfällt, verschwinden alle zuvor im Speicher gespeicherten Daten. Daher ist ersichtlich, dass Memcached keinerlei Daten bereitstellt Die Datenpersistenzfunktion bietet eine solche Funktionalität. Darüber hinaus bietet Redis umfangreichere Datenspeicherstrukturen wie Hash und Set. Was ihre Ähnlichkeiten betrifft, gibt es zwei Hauptpunkte: Zum einen sind sie völlig kostenlos, zum anderen sind die von ihnen bereitgestellten Befehlsformen sehr ähnlich. 2. Vorteile von Redis: 1. Im Vergleich zu anderen NoSQL-Produkten ist Redis äußerst einfach zu verwenden, sodass es für Entwickler, die Erfahrung mit der Verwendung ähnlicher Produkte haben, nur ein oder zwei Tage oder sogar ein paar Stunden dauert. Anschließend können Sie mit Redis Ihre eigene Plattform erstellen. 2. Es löst zwar viele häufig auftretende Probleme, bietet aber auch relevante Lösungen für einige personalisierte Probleme, wie z. B. Indexierungs-Engines, statistische Rankings, Nachrichtenwarteschlangendienste usw. 3. Die Hauptprobleme von Redis in der aktuellen Version: 1. Die offizielle Version bietet keine Unterstützung für die Windows-Plattform. Die veröffentlichte offizielle Version unterstützt nur Unix-ähnliche und MacOSX-Plattformen.2. Laut der offiziellen Website wird diese Funktion voraussichtlich in Version 2.6 hinzugefügt.
3. Wenn in der Veröffentlichungs-/Abonnementfunktion der Master ausfällt, kann der Slave nicht automatisch zum Master befördert werden.
In Bezug auf die Datenspeicherung folgt Redis der Mainstream-Idee bestehender NoSQL-Datenbanken, das heißt, Key ist die eindeutige Kennung für den Datenabruf. Wir können ihn einfach als Schlüssel des Index in der relationalen Datenbank verstehen, während Value es ist Als Hauptschlüssel für die Datenspeicherung ist jedem Wert ein Schlüssel zugeordnet, der dem Speicherort der physischen Daten im Index in der Datentabelle ähnelt. In Redis wird Value als binärer Bytestrom betrachtet, der zum Speichern von Daten in beliebigen Formaten wie Json, XML und Byteströmen serialisierter Objekte usw. verwendet wird. Daher können wir ihn uns auch als Feld vom Typ BLOB in RDB vorstellen. Es ist ersichtlich, dass wir bei der Durchführung einer Datenabfrage nur den Schlüssel als Bedingung für unsere Abfrage verwenden können. Natürlich können wir auch einige in Redis bereitgestellte Techniken anwenden, um den Wert als Schlüssel für andere Daten zu verwenden Die folgenden Blogs stellen vor.
5. So behalten Sie Speicherdaten bei:
Standardmäßig bezieht sich Redis auf die Anzahl der Datenänderungen in der aktuellen Datenbank und speichert nach Erreichen eines bestimmten Schwellenwerts einen Snapshot der Datenbank Tun Sie dies über die Konfigurationsdatei, um diesen Schwellenwert festzulegen. Normalerweise können wir Redis auch so einstellen, dass es regelmäßig speichert. Wenn beispielsweise mehr als 1.000 Schlüsseldaten geändert werden, führt Redis alle 60 Sekunden einen Datenpersistenzvorgang durch. Die Standardeinstellung ist, dass Redis bei 9 oder weniger Datenänderungen alle 15 Minuten bestehen bleibt.
Aus der oben genannten Lösung geht hervor, dass die Laufzeiteffizienz von Redis bei jeder neuen Datenänderung sehr effizient ist, nur die zwischengespeicherten Daten im Speicher ändern sich nicht werden sofort auf der Festplatte gespeichert, wodurch Festplatten-E/A bei den meisten Änderungsvorgängen vermieden werden. Allerdings haben die Dinge oft zwei Seiten: Wir gewinnen zwar an Effizienz, verlieren aber an Datenzuverlässigkeit. Wenn der Server, auf dem sich Redis befindet, ausfällt, bevor der Speicher-Snapshot auf der Festplatte gespeichert wird, gehen alle geänderten Daten verloren, die nicht auf die Festplatte geschrieben wurden. Um eine hohe Zuverlässigkeit der Daten sicherzustellen, bietet Redis außerdem einen weiteren Datenpersistenzmechanismus: den Anhängemodus. Wenn der Redis-Server auf diese Weise konfiguriert ist, werden Daten bei jeder Änderung sofort auf der Festplatte gespeichert.
Verwandte Empfehlungen: Redis-Datenbank-Tutorial
Das obige ist der detaillierte Inhalt vonTeilen von Redis-Einführungs-Lernhandbüchern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!