Heim >Datenbank >Redis >Ausführliche Erläuterung der Anwendungsszenarien, Vor- und Nachteile von Redis

Ausführliche Erläuterung der Anwendungsszenarien, Vor- und Nachteile von Redis

藏色散人
藏色散人nach vorne
2020-11-03 15:41:452413Durchsuche

In der folgenden Kolumne werden die Anwendungsszenarien, Vor- und Nachteile von Redis aus der Kolumne Redis-Tutorial vorgestellt. Ich hoffe, dass es für Freunde in Not hilfreich ist!

Ausführliche Erläuterung der Anwendungsszenarien, Vor- und Nachteile von Redis

Als typische nicht relationale Datenbank wird Redis derzeit häufig in Anwendungen auf Unternehmensebene verwendet. Es eignet sich sehr gut für Szenarien mit wenig Speicherplatz und großem Zugriffsvolumen. Alle Daten werden im Speicher gespeichert, um einen Hochgeschwindigkeitszugriff auf Daten zu gewährleisten. Was sind die Unterschiede und Vorteile zwischen NoSQL und Memcached?

1. Nachteile von Memcached und Redis

Die Speicherarchitektur von MySQL+Memcached wird in der Branche häufig verwendet, aber da die Anzahl der Besuche weiter zunimmt, sind damit viele Probleme verbunden.

1. MySQL muss ständig Datenbanken und Tabellen abbauen und auch Memcached muss weiter ausgebaut werden

2. Es gibt eine gewisse Dateninkonsistenz zwischen Memcached und MySQL

3. Wenn Memcached anfällig für einen geringeren Treffer ist rate, dringt direkt in MySQL ein, was dazu führt, dass die Datenbank nicht unterstützt werden kann.

2. Apropos Redis: Viele Entwickler wissen nur, dass es sich um eine nicht relationale Datenbank wie Memcached handelt, in der Daten direkt gespeichert werden können K-V-Form, aber relativ im Vergleich zu Memcached, weist es auch viele Unterschiede auf.

1. Redis unterstützt nicht nur die einfache K-V-Form der Datenspeicherung, sondern unterstützt auch die Speicherung von Erfassungsdaten wie Liste, Satz, Hash, Zset usw.

2. Redis unterstützt Echtzeit-Datensicherung und zeitnahe Ausfallzeiten . Die Daten können wiederhergestellt werden

3. Redis unterstützt die Datenpersistenz und die im Speicher gespeicherten Daten können direkt auf der Festplatte gespeichert werden

String, Hash, Set, List, SortedSet, Pub/Sub, Transaktionen.

1. String: Strings ist eine Variable, die in der einfachsten Schlüsselwertform gespeichert ist. Dabei kann Wert entweder eine Zahl oder eine Zeichenfolge sein. Die Implementierungsmethode besteht darin, standardmäßig eine Zeichenfolge in Redis zu speichern, auf die von redisObject verwiesen wird. Wenn eine digitale Operation wie Inkrementieren, Dekrementieren usw. erkannt wird, wird sie zur Berechnung automatisch in eine Zahl und dann in eine Zeichenfolge umgewandelt zur Speicherung nach Abschluss der Berechnung.

2. Hash: Der Hash-Speicher ist der Wert von Schlüssel-Wert-Paaren. Das ist Key-Hash, und Hash ist eine k-v-Struktur. Wenn Sie Memcached verwenden, müssen Sie den gesamten Hash packen und im Speicher speichern Finden Sie dann den entsprechenden Wert. Redis kann den Wert direkt über Befehle abrufen, was die Leistung erheblich verbessert. Sein Implementierungsprinzip: Wenn nur wenige Mitglieder vorhanden sind, verwendet Redis einen kompakten Speicher, der einem eindimensionalen Array ähnelt, um Speicher zu sparen. Wenn viele Objekte vorhanden sind, wird dieser direkt in HashMap-Speicher konvertiert.

3. Set: Set ist ein ungeordneter natürlicher Deduplizierungssatz, also ein Schlüsselsatz. Darüber hinaus bietet es eine Reihe von Methoden zum direkten Betrieb von Sammlungen wie Schnittpunkt und Vereinigung, was besonders praktisch für die Suche nach gemeinsamen Freunden und gemeinsamen Anliegen ist. Die unterste Ebene wird durch HashMap implementiert, wobei der Wert null ist. 4. Liste: Liste ist eine geordnete und wiederholbare Sammlung, die dem FIFO-Prinzip folgt unterstützt die Vorwärts- und Rückwärtsrichtung. Über List können wir problemlos Funktionen wie die neueste Antwort abrufen.

5. SortedSet: Ähnlich wie TreeSet in Java ist es eine sortierbare Version von Set. Darüber hinaus wird auch die Prioritätssortierung unterstützt und ein Score-Parameter gepflegt, um dies zu erreichen. Die unterste Ebene basiert hauptsächlich auf HashMap, um die Sortierung zu implementieren, indem die Zuordnung zwischen dem eingefügten Wert und der Score-Priorität beibehalten wird.

6. Pub/Sub: Veröffentlichen und Abonnieren, ähnlich der Nachrichtenwarteschlange MQ. Sie können einen bestimmten Schlüssel abonnieren. Sobald dieser Schlüssel einige Nachrichten veröffentlicht, können alle diesen Schlüssel abonnierten Objekte diese Nachricht empfangen. Es kann hauptsächlich in Echtzeit-Messaging-Systemen wie Chat verwendet werden.

7. Transaktionen: NoSQL unterstützt keine Transaktionen, bietet jedoch die Funktion der Paketausführung, d. h. alle Befehle in diesem Paket müssen zusammen ausgeführt werden, wenn der Schlüssel erkannt wird Der Befehl wird gepackt und ausgeführt. Wenn eine Änderung auftritt, wird sie direkt zurückgesetzt.

4. Häufige Anwendungsszenarien von Redis

Redis nutzt Speicher zur Bereitstellung von Speicher und speichert Daten über die Persistenzfunktion. Und es handelt sich um einen Single-Threaded-Vorgang für die Anfrage. Diese Reihe von Funktionen verleiht Redis sehr magische Funktionen.

1. Finden Sie die neueste Antwort.

              Wenn Sie eine herkömmliche relationale Datenbank verwenden, müssen Sie „select * from table where name="“ order by time desc limit 100 verwenden; dies verbraucht die Datenbankleistung, aber über Redis können Sie eine Liste direkt über Id in Redis erstellen. Wenn Sie eine Länge von 1 W angeben und eine Suche erforderlich ist, werden die letzten 100 Datensätze der Liste direkt ausgegeben.

2. Ranking-Probleme

Häufige Ranking-Probleme, wie die heißesten Themen, Spiel-Rankings usw., können einfach über Redis gelöst werden und können direkt über ZRank ermittelt werden.

3. Abgelaufene Daten löschen

Redis ist keine wirklich persistente Datenbank. Sie können den Daten eine gültige Zeit hinzufügen. Wenn die gültige Zeit überschritten wird, löscht Redis automatisch die entsprechenden Daten.

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Anwendungsszenarien, Vor- und Nachteile von Redis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen