Die drei Philosophien von Redis sind die drei Fragen, die der Prüfer während des Interviews zu Redis stellt: „Was ist es? Warum? Wie wird es verwendet?“
Diese drei Fragen erfordern ein tiefes Verständnis von Redis, und der Prüfer möchte nicht alle Antworten online hören, sondern wird sich auch auf Ihr eigenes Verständnis konzentrieren.
Der folgende Inhalt stammt aus dem Internet. (Empfohlenes Lernen: Redis-Video-Tutorial)
Redis ist eine Open-Source-Protokolltyp-Schlüsselwertdatenbank und bietet APIs in mehreren Sprachen.
Redis ist ein Schlüsselwertspeichersystem. Ähnlich wie Memcached unterstützt es relativ mehr gespeicherte Werttypen, einschließlich String (String), Liste (verknüpfte Liste), Set (Satz), Zset (sortierter Satz – geordneter Satz) und Hash (Hash-Typ). Diese Datentypen unterstützen alle Push/Pop-, Add/Remove-, Schnitt-, Vereinigungs-, Differenz- und umfangreichere Operationen und diese Operationen sind alle atomar. Auf dieser Basis unterstützt Redis verschiedene Sortierarten. Wie bei Memcached werden Daten im Speicher zwischengespeichert, um die Effizienz sicherzustellen. Der Unterschied besteht darin, dass Redis regelmäßig aktualisierte Daten auf die Festplatte schreibt oder Änderungsvorgänge in zusätzliche Datensatzdateien schreibt und auf dieser Grundlage eine Master-Slave-Synchronisation (Master-Slave) erreicht wird.
Redis ist eine leistungsstarke Schlüsselwertdatenbank. Das Aufkommen von Redis hat die Mängel der Schlüssel-/Wertspeicherung wie Memcached weitgehend ausgeglichen und kann in manchen Situationen eine sehr gute Ergänzung zu relationalen Datenbanken spielen. Es bietet Java, C/C++, C#, PHP, JavaScript, Perl, Object-C, Python, Ruby, Erlang und andere Clients, was sehr bequem zu verwenden ist.
Redis unterstützt die Master-Slave-Synchronisation. Daten können vom Master-Server mit einer beliebigen Anzahl von Slave-Servern synchronisiert werden, und der Slave-Server kann ein Master-Server sein, der mit anderen Slave-Servern verbunden ist. Dadurch kann Redis eine einstufige Baumreplikation durchführen. Beim Speichern können Daten absichtlich oder unabsichtlich geschrieben werden. Da der Publish/Subscribe-Mechanismus vollständig implementiert ist, kann die Slave-Datenbank, wenn sie den Baum irgendwo synchronisiert, einen Kanal abonnieren und den vollständigen Nachrichtenfreigabedatensatz des Master-Servers empfangen. Die Synchronisierung ist hilfreich für die Skalierbarkeit und Datenredundanz von Lesevorgängen.
1. Zwischenspeicherung von Hotspot-Daten
Aufgrund der hohen Zugriffsgeschwindigkeit und der umfangreichen Datentypen, die von Redis unterstützt werden, eignet sich Redis außerdem sehr gut zum Speichern von Hotspot-Daten Legen Sie die Ablaufzeit fest. Führen Sie dann den Cache-Aktualisierungsvorgang aus. Diese Funktion ist die häufigste und wird in fast allen unseren Projekten verwendet.
2. Anwendung des zeitlich begrenzten Geschäfts
In Redis können Sie den Ablaufbefehl verwenden, um die Überlebenszeit eines Schlüssels festzulegen, und Redis löscht ihn nach Ablauf der Zeit. Diese Funktion kann in Geschäftsszenarien wie zeitlich begrenzten Werbeinformationen und Mobiltelefon-Verifizierungscodes verwendet werden.
3. Probleme im Zusammenhang mit Zählern
Da der Befehl incrby eine atomare Erhöhung in Redis erreichen kann, kann er bei Flash-Verkaufsaktivitäten mit hoher Parallelität und der Generierung verteilter Seriennummern verwendet werden spiegelt sich auch wider in: Begrenzen Sie beispielsweise die Anzahl der von einer Mobiltelefonnummer gesendeten Textnachrichten, begrenzen Sie die Anzahl der Anfragen pro Minute durch eine Schnittstelle, begrenzen Sie die Anzahl der Anrufe pro Tag durch eine Schnittstelle usw.
4. Probleme im Zusammenhang mit Rankings
Relationale Datenbanken sind bei der Abfrage von Rankings im Allgemeinen langsam, daher können Sie SortedSet von redis verwenden, um heiße Daten zu sortieren.
5. Verteilte Sperre
Natürlich können wir diese Funktion auf andere Szenarien anwenden, die verteilte Sperren erfordern. In Kombination mit der Ablaufzeit dient sie hauptsächlich dazu, das Auftreten von Deadlocks zu verhindern.
6. Verzögerter Betrieb
7. Paging, Fuzzy-Suche
Weitere technische Artikel zu Redis finden Sie im Tutorial zur Einführung in die Redis-Datenbank Kolumne Fang an zu lernen!
Das obige ist der detaillierte Inhalt vonWas sind die drei Glieder der Redis-Philosophie?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!