Wir alle wissen, dass das Zwischenspeichern von Abfrageergebnissen die Servicefunktionen des Systems erheblich verbessern und den Druck auf den zugrunde liegenden Dienst oder die zugrunde liegende Datenbank verringern kann. Für das Caching mit Paging-Bedingungen können wir auch mehrere Schlüssel gemäß unterschiedlichen Paging-Bedingungen zwischenspeichern.
Paging-Abfrage-Caching-Lösung basierend auf SortedSet
Die erste Lösung, die mir in den Sinn kommt, ist die Verwendung von @see ListOperations< ;K, V> Anstatt mehrere Schlüssel gemäß den Paging-Bedingungen zu verwenden, verwenden Sie einen Schlüssel und zwischenspeichern Sie alle Daten ohne Paging in Redis und verwenden Sie dann den Bereich (Schlüssel, Start, Limit) gemäß den Paging-Bedingungen, um die Paging-Ergebnisse zu erhalten . (Empfohlenes Lernen: Redis-Video-Tutorial)
Dies führt zu einem Problem, wenn der Cache ausfällt und der gleichzeitige Schreibcache zu doppelten Daten führt, so dachte ich it by Verwenden Sie set, um doppelte Daten während der Parallelität zu verarbeiten werden nach Wert unterteilt. Ordnen Sie die Daten in der Karte in aufsteigender Reihenfolge des Werts an. Im Allgemeinen ist der Wert der Wert von fileA in der Reihenfolge von fileA der SQL-Anweisung. Dies kann die Datenkonsistenz sicherstellen
Diese Methode weist jedoch auch bestimmte Probleme auf:
Der von diesem Schlüssel zwischengespeicherte Wert ist zwar ein heißer Datentyp, aber nur wenige Daten werden möglicherweise häufig verwendet und der Rest wird möglicherweise überhaupt nicht verwendet Wenn beispielsweise 100 Seiten Daten vorhanden sind, werden möglicherweise nur die ersten 10 Seiten tatsächlich verwendet. Dies führt auch zu einer Verschwendung von Cache-Speicherplatz. Wenn der virtuelle Redis-Speicher verwendet wird, hat dies auch gewisse Auswirkungen 🎜>SQL-Abfrage hat sich von der ursprünglichen Paging-Abfrage in eine Nicht-Paging-Abfrage geändert. Nach dem Cache-Fehler ist die Systemverarbeitungsfähigkeit geringer als zuvor, insbesondere bei großen Tabellen Für weitere Redis-bezogene technische Daten Artikel finden Sie in der SpalteRedis Getting Started Tutorial, um mehr zu erfahren!
Das obige ist der detaillierte Inhalt vonWie Redis Paging-Anfragen löst. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!