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!
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?
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.
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.
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!