Heim > Datenbank > Redis > Hauptteil

Einführung in den mehrstufigen Redis-Cache

Freigeben: 2020-05-02 09:07:54
nach vorne
3042 Leute haben es durchsucht

Einführung in den mehrstufigen Redis-Cache

Entsprechend der Granularität von grob bis fein:

Nehmen Sie die Produktdetailseite als Beispiel

1. Caching auf Seitenebene

(Manchmal auch URL-Level-Cache genannt, die Seite wird manuell gerendert und in Redis gespeichert (Schlüssel=Produkt-ID, val="Produktdetailseite). Wenn diese Seite in Zukunft erneut angefordert wird, wird sie von Redis abgerufen und gibt Text/HTML direkt an das Frontend zurück, und Sie können den Browser anweisen, die Seite lokal zwischenzuspeichern. Der Nachteil besteht darin, dass die Seitendaten nicht rechtzeitig aktualisiert werden)

2. Zwischenspeicherung auf Objektebene

(z. B. Produktdaten, (Schlüssel = Produkt-ID, val = „Datenbank „Produktdaten suchen“) speichert die einmal abgefragten Produktinformationen in Redis. Wenn Sie zum zweiten Mal eine Änderung der Produktdaten anfordern, wird die Abfrage durchgeführt

Die Idee des Redis-Cachings ist:

1. Überprüfen Sie zunächst, ob Daten in Redis vorhanden sind.

1.1. Rückkehr

1.2. Wenn nicht, fragen Sie die Datenbank ab, speichern Sie sie in Redis und geben Sie dann zurück

2. Achten Sie auf den Caching-Lebenszyklus,

Wenn der Zyklus dauerhaft ist , dann wird Redis leicht zusammenbrechen, es ist nur eine Frage der Zeit

Verwendung von Redis im Flash-Sale:

1. Beenden Sie zuerst den Flash. Der Produktbestand ist in Redis vorgespeichert

2. Nach Beginn des Flash-Sales wird der Bestand in Redis vorab verringert und auf 0 reduziert. Der Produkt-Flash-Sale endet (Redis ist Single-Threaded)

3. Wenn, um das Problem zu lindern Um den Redis-Zugriffsdruck zu erhöhen, können von Benutzern eingereichte Flash-Sale-Anfragen in mq (z. B. RabbitMq) platziert werden.

Zum Beispiel gibt es insgesamt nur 10 Produkte und insgesamt 100.000 Benutzer beobachten sie und reichen alle ein Flash-Verkaufsanfragen fast gleichzeitig,

3.1 Sie können die Anfrage in die Nachrichtenwarteschlange stellen und sie als „Warteschlange“ an das Frontend zurückgeben;

3.2. der „Verbraucher“ der Warteschlange) liest mit einer festen Geschwindigkeit aus der Nachrichtenwarteschlange. Holen Sie sich die Daten und erstellen Sie Aufträge in der Datenbank (d. h. erstellen Sie 10 Aufträge auf geordnete Weise, ohne Auswirkungen auf die Datenbank),

3.3. Auch wenn die Erstellung der Bestellung aus irgendeinem Grund fehlschlägt, wird die Flash-Sale-Anfrage des Benutzers am Ende von mq platziert und dann werden Bestellungen für andere Benutzer in der Warteschlange erstellt

3.4. Wenn die Bestellung erfolgreich erstellt wurde, wird die Anfrage aus mq entfernt und eine SMS an den Benutzer gesendet. „Herzlichen Glückwunsch, der Flash-Sale ist erfolgreich!“

3.5 . Nachdem Sie 10 Bestellungen erfolgreich erstellt haben (d. h. der Flash-Verkauf endet), fordern Sie andere Benutzer in der Warteschlange auf, „Der Flash-Verkauf ist fehlgeschlagen“ zurückzugeben.

Für weitere Redis-Kenntnisse beachten Sie bitte die Redis-Einführung Tutorial Spalte .

Das obige ist der detaillierte Inhalt vonEinführung in den mehrstufigen Redis-Cache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage