Heim Datenbank Redis Was sind die Vor- und Nachteile von Redis und welche Einsatzszenarien gibt es?

Was sind die Vor- und Nachteile von Redis und welche Einsatzszenarien gibt es?

Dec 22, 2020 am 09:36 AM
redis 优缺点 使用场景

Was sind die Vor- und Nachteile von Redis und welche Einsatzszenarien gibt es?

Vor- und Nachteile der Redis-Datenbank:

(Lernvideo-Empfehlung: Redis-Video-Tutorial)

1. Welche Vorteile bietet die Verwendung von Redis?

(1) Es ist schnell, da die Daten im Speicher gespeichert werden. Es ähnelt HashMap. Der Vorteil von HashMap besteht darin, dass die Zeitkomplexität der Suche und des Betriebs O(1) ist.

(2) Es unterstützt umfangreiche Daten Typen, einschließlich String und Liste. Menge, sortierte Menge, Hash

(3) Unterstützte Transaktionen und Operationen sind alle atomar. Die sogenannte Atomizität bedeutet, dass alle Änderungen an den Daten entweder ausgeführt werden oder überhaupt nicht ausgeführt werden

(4 ) Umfangreiche Funktionen: Kann zum Zwischenspeichern verwendet werden. Legen Sie für Nachrichten die Ablaufzeit per Schlüssel fest und sie werden nach Ablauf automatisch gelöscht

2 Was sind die Vorteile von Redis im Vergleich zu Memcached?

(1) Alle Werte in Memcached sind einfache Zeichenfolgen. Als Ersatz unterstützt Redis umfangreichere Datentypen

(2) Redis ist viel schneller als Memcached

(3) Redis kann dauerhaft sein . Häufige Redis-Leistungsprobleme und Lösungen:


(1) Der Master führt am besten keine Persistenzarbeiten wie RDB-Speicher-Snapshots und AOF-Protokolldateien durch.

(2) Wenn die Daten wichtig sind, aktivieren Sie eine bestimmte AOF-Sicherungsdatei auf jedem Slave und stellen Sie die Richtlinie so ein, dass sie einmal pro Sekunde synchronisiert wird

(3) Für die Geschwindigkeit der Master-Slave-Replikation und die Stabilität der Verbindung ist es am besten, wenn sich Master und Slave im selben LAN befinden

( 4) Vermeiden Sie Druck. Fügen Sie Slave-Bibliotheken zu einer großen Master-Bibliothek hinzu.

(5) Verwenden Sie keine Diagrammstruktur für die Master-Slave-Replikation. Es ist stabiler, eine einseitig verknüpfte Listenstruktur zu verwenden, das heißt: Master <- Slave1 <- Slave2 <- Slave3…

Diese Struktur erleichtert die Lösung des Single-Point-of-Failure-Problems und die Realisierung des Ersatzes des Masters durch den Slave. Wenn der Master auflegt, können Sie Slave1 sofort als Master aktivieren und alles andere unverändert lassen.

4. Es gibt 20 Millionen Daten in MySQL, aber nur 200.000 Daten werden in Redis gespeichert Bei einer bestimmten Größe werden die Daten einer Eliminierungsstrategie unterzogen. Redis bietet 6 Dateneliminierungsstrategien:

voltile-lru: Wählen Sie die zuletzt verwendeten Daten aus dem Datensatz (server.db[i].expires) mit einer festgelegten Ablaufzeit aus, um sie zu eliminieren.

volatile-ttl: Eliminieren Sie sie aus der Datensatz mit einer festgelegten Ablaufzeit. Wählen Sie die Daten aus, die aus dem zu entfernenden Zeitdatensatz (server.db[i].expires) ablaufen sollen [i].expires) mit festgelegter Ablaufzeit

allkeys-lru: Wählen Sie die zuletzt verwendeten Daten aus dem Datensatz (server.db[i].dict) aus, um sie zu eliminieren

allkeys-random: Wählen Sie beliebige Daten aus den Daten aus set (server.db[i].dict) Eliminate

no-enviction (Räumung): Es ist verboten, Daten zu entfernen

5 Was sind die Unterschiede zwischen Memcache und Redis?

1). Speichermethode

Memcache speichert alle Daten im Speicher. Nach einem Stromausfall bleiben die Daten hängen.

Redis wird teilweise auf der Festplatte gespeichert, was die Datenpersistenz gewährleistet.

2), Datenunterstützungstypen

Memcaches Unterstützung für Datentypen ist relativ einfach.

Redis verfügt über komplexe Datentypen.

3). Die zugrunde liegenden Modelle sind unterschiedlich.

Die zugrunde liegenden Implementierungsmethoden und Anwendungsprotokolle für die Kommunikation mit Clients sind unterschiedlich.

Redis baut den VM-Mechanismus direkt selbst auf, denn wenn das allgemeine System Systemfunktionen aufruft, verschwendet es eine gewisse Zeit zum Verschieben und Anfordern.

4), Wertgröße

Redis kann maximal 1 GB erreichen, während Memcache nur 1 MB beträgt

5 Was sind die häufigsten Leistungsprobleme von Redis? Wie kann man es lösen?

1) Der Master schreibt Speicher-Snapshots und der Speicherbefehl plant die Funktion rdbSave. Wenn der Snapshot relativ groß ist, ist die Auswirkung auf die Leistung sehr groß und der Dienst wird angehalten zeitweise, daher ist es am besten, keine Speicher-Snapshots für Master zu schreiben.

2) Wenn die AOF-Datei nicht neu geschrieben wird, hat diese Persistenzmethode den geringsten Einfluss auf die Leistung, aber die AOF-Datei wird weiter wachsen, wenn die AOF-Datei zu groß ist Geschwindigkeit des Master-Neustarts. Es ist am besten, keine Persistenzarbeiten auf dem Master durchzuführen, einschließlich Speicher-Snapshots und AOF-Protokolldateien. Aktivieren Sie insbesondere keine Speicher-Snapshots für die Persistenz. Wenn die Daten kritisch sind, sollte ein Slave AOF-Sicherungsdaten aktivieren einmal pro Sekunde zu synchronisieren.

3).Master ruft BGREWRITEAOF auf, um die AOF-Datei neu zu schreiben. Während des Neuschreibens belegt AOF eine große Menge an CPU- und Speicherressourcen, was zu einer übermäßigen Dienstlast und einer kurzfristigen Dienstunterbrechung führt.

4) Leistungsprobleme der Redis-Master-Slave-Replikation und die Stabilität der Verbindung, wenn sich Slave und Master im selben LAN befinden

7 für Redis

Redis eignet sich am besten für alle In-Memory-Szenarios. Obwohl Redis auch eine Persistenzfunktion bietet, handelt es sich tatsächlich eher um eine festplattengestützte Funktion, die sich stark von der Persistenz im herkömmlichen Sinne unterscheidet Möglicherweise haben Sie Fragen. Es scheint, dass Redis eher eine erweiterte Version von Memcached ist. Wann sollte man also Memcached und wann Redis verwenden?

1. Redis unterstützt nicht nur einfache Daten vom Typ k/v, sondern bietet auch die Speicherung von Datenstrukturen wie Liste, Satz, Zset und Hash.
2. Redis unterstützt die Datensicherung, also die Datensicherung im Master-Slave-Modus.
3. Redis unterstützt Datenpersistenz, wodurch Daten im Speicher auf der Festplatte verbleiben und bei einem Neustart erneut geladen werden können.

(1), Sitzungscache

Eines der am häufigsten verwendeten Szenarien für die Verwendung von Redis ist der Sitzungscache. Der Vorteil der Verwendung von Redis zum Zwischenspeichern von Sitzungen gegenüber anderem Speicher (z. B. Memcached) besteht darin, dass Redis Persistenz bietet. Bei der Verwaltung eines Caches, der nicht unbedingt Konsistenz erfordert, wären die meisten Menschen unzufrieden, wenn alle Warenkorbinformationen des Benutzers verloren gehen würden. Wäre das dann immer noch der Fall?

Da sich Redis im Laufe der Jahre verbessert hat, ist es glücklicherweise leicht herauszufinden, wie man Redis richtig zum Zwischenspeichern von Sitzungsdokumenten verwendet. Auch die bekannte kommerzielle Plattform Magento stellt Redis-Plug-ins zur Verfügung.

(2), Full Page Cache (FPC)

Zusätzlich zu den grundlegenden Sitzungstoken bietet Redis auch eine sehr einfache FPC-Plattform. Zurück zum Konsistenzproblem: Selbst wenn die Redis-Instanz neu gestartet wird, werden Benutzer aufgrund der Festplattenpersistenz keine Verringerung der Seitenladegeschwindigkeit feststellen. Dies ist eine große Verbesserung, ähnlich wie bei PHP Local FPC.

Nehmen wir noch einmal Magento als Beispiel: Magento bietet ein Plugin zur Verwendung von Redis als Full-Page-Cache-Backend.

Darüber hinaus verfügt Pantheon für WordPress-Benutzer über ein sehr gutes Plug-in wp-redis, mit dem Sie die von Ihnen durchsuchten Seiten so schnell wie möglich laden können.

(3) Warteschlange

Einer der großen Vorteile von Redis im Bereich der Speicher-Engines besteht darin, dass es Listen- und Set-Operationen bereitstellt, wodurch Redis als gute Plattform für Nachrichtenwarteschlangen verwendet werden kann. Die von Redis als Warteschlange verwendeten Vorgänge ähneln den Push/Pop-Vorgängen der Liste in lokalen Programmiersprachen (wie Python).

Wenn Sie in Google schnell nach „Redis-Warteschlangen“ suchen, werden Sie sofort auf eine große Anzahl von Open-Source-Projekten stoßen. Der Zweck dieser Projekte besteht darin, mit Redis sehr gute Back-End-Tools zu erstellen, um verschiedene Warteschlangenanforderungen zu erfüllen. Celery verfügt beispielsweise über ein Backend, das Redis als Broker verwendet. Sie können es hier anzeigen.

(4), Leaderboard/Counter

Redis implementiert den Vorgang des Erhöhens oder Verringerns von Zahlen im Speicher sehr gut. Sets und sortierte Sets machen es uns auch sehr einfach, diese Operationen durchzuführen. Redis stellt lediglich diese beiden Datenstrukturen bereit. Wir möchten also die Top 10 Benutzer aus der sortierten Menge erhalten – nennen wir sie „user_scores“, wir müssen es nur wie folgt tun:

Dies setzt natürlich voraus, dass Sie anhand Ihrer Benutzer-Scores sortiert sind aufsteigende Reihenfolge. Wenn Sie den Benutzer und die Punktzahl des Benutzers zurückgeben möchten, müssen Sie dies wie folgt ausführen:

ZRANGE user_scores 0 10 WITHSCORES

Agora Games ist ein gutes Beispiel, das in Ruby implementiert ist und dessen Rankings Redis zum Speichern von Daten verwenden kann es hier sehen.

(5), Veröffentlichen/Abonnieren

Last (aber sicherlich nicht zuletzt) ​​ist die Veröffentlichungs-/Abonnieren-Funktion von Redis. Es gibt tatsächlich viele Anwendungsfälle für Publish/Subscribe. Ich habe gesehen, wie Leute es in sozialen Netzwerkverbindungen, als Auslöser für Veröffentlichungs-/Abonnement-basierte Skripte und sogar zum Aufbau von Chat-Systemen mithilfe der Veröffentlichungs-/Abonnement-Funktionalität von Redis verwenden! (Nein, das stimmt, Sie können es nachschauen).

Von allen von Redis bereitgestellten Funktionen ist diese meiner Meinung nach diejenige, die den Leuten am wenigsten gefällt, obwohl sie den Benutzern mehrere Funktionen bietet.

Verwandte Empfehlungen: Redis-Datenbank-Tutorial

Das obige ist der detaillierte Inhalt vonWas sind die Vor- und Nachteile von Redis und welche Einsatzszenarien gibt es?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Lösung für den Fehler 0x80242008 bei der Installation von Windows 11 10.0.22000.100 Lösung für den Fehler 0x80242008 bei der Installation von Windows 11 10.0.22000.100 May 08, 2024 pm 03:50 PM

1. Starten Sie das Menü [Start], geben Sie [cmd] ein, klicken Sie mit der rechten Maustaste auf [Eingabeaufforderung] und wählen Sie Als [Administrator] ausführen. 2. Geben Sie nacheinander die folgenden Befehle ein (kopieren und fügen Sie sie sorgfältig ein): SCconfigwuauservstart=auto, drücken Sie die Eingabetaste. SCconfigbitsstart=auto, drücken Sie die Eingabetaste. SCconfigcryptsvcstart=auto, drücken Sie die Eingabetaste. SCconfigtrustedinstallerstart=auto, drücken Sie die Eingabetaste. SCconfigwuauservtype=share, drücken Sie die Eingabetaste. netstopwuauserv, drücken Sie die Eingabetaste für netstopcryptS

Was sind die Vor- und Nachteile des Templatings? Was sind die Vor- und Nachteile des Templatings? May 08, 2024 pm 03:51 PM

Templating: Vor- und Nachteile Templating ist eine leistungsstarke Programmiertechnik, mit der Sie wiederverwendbare Codeblöcke erstellen können. Es bietet eine Reihe von Vorteilen, aber auch einige Nachteile. Vorteile: Wiederverwendbarkeit des Codes: Mit Templating können Sie gemeinsamen Code erstellen, der in Ihrer gesamten Anwendung wiederverwendet werden kann, wodurch Duplizierung und Wartungsaufwand reduziert werden. Konsistenz: Mithilfe von Vorlagen wird sichergestellt, dass Codeausschnitte an verschiedenen Stellen auf die gleiche Weise implementiert werden, wodurch die Konsistenz und Lesbarkeit des Codes verbessert wird. Wartbarkeit: Änderungen an einer Vorlage werden gleichzeitig im gesamten Code widergespiegelt, der sie verwendet, wodurch Wartung und Aktualisierungen vereinfacht werden. Effizienz: Templating spart Zeit und Aufwand, da Sie nicht immer wieder denselben Code schreiben müssen. Flexibilität: Mithilfe von Vorlagen können Sie konfigurierbare Codeblöcke erstellen, die problemlos an unterschiedliche Anwendungsanforderungen angepasst werden können. Mangel

Golang API-Caching-Strategie und -Optimierung Golang API-Caching-Strategie und -Optimierung May 07, 2024 pm 02:12 PM

Die Caching-Strategie in GolangAPI kann die Leistung verbessern und die Serverlast reduzieren. Häufig verwendete Strategien sind: LRU, LFU, FIFO und TTL. Zu den Optimierungstechniken gehören die Auswahl geeigneter Cache-Speicher, hierarchisches Caching, Invalidierungsmanagement sowie Überwachung und Optimierung. Im praktischen Fall wird der LRU-Cache verwendet, um die API zum Abrufen von Benutzerinformationen aus der Datenbank zu optimieren. Andernfalls kann der Cache nach dem Abrufen aus der Datenbank aktualisiert werden.

Vergleich der Vor- und Nachteile von PHP-Frameworks: Welches ist besser? Vergleich der Vor- und Nachteile von PHP-Frameworks: Welches ist besser? Jun 04, 2024 pm 03:36 PM

Die Wahl des PHP-Frameworks hängt von den Projektanforderungen und Entwicklerfähigkeiten ab: Laravel: reich an Funktionen und aktiver Community, weist jedoch eine steile Lernkurve und einen hohen Leistungsaufwand auf. CodeIgniter: Leicht und einfach zu erweitern, verfügt jedoch über eingeschränkte Funktionalität und weniger Dokumentation. Symfony: Modulare, starke Community, aber komplexe Leistungsprobleme. ZendFramework: für Unternehmen geeignet, stabil und zuverlässig, aber umfangreich und teuer in der Lizenzierung. Schlank: Mikro-Framework, schnell, aber mit eingeschränkter Funktionalität und einer steilen Lernkurve.

Caching-Mechanismus und Anwendungspraxis in der PHP-Entwicklung Caching-Mechanismus und Anwendungspraxis in der PHP-Entwicklung May 09, 2024 pm 01:30 PM

In der PHP-Entwicklung verbessert der Caching-Mechanismus die Leistung, indem er häufig aufgerufene Daten vorübergehend im Speicher oder auf der Festplatte speichert und so die Anzahl der Datenbankzugriffe reduziert. Zu den Cache-Typen gehören hauptsächlich Speicher-, Datei- und Datenbank-Cache. In PHP können Sie integrierte Funktionen oder Bibliotheken von Drittanbietern verwenden, um Caching zu implementieren, wie zum Beispiel Cache_get() und Memcache. Zu den gängigen praktischen Anwendungen gehören das Zwischenspeichern von Datenbankabfrageergebnissen zur Optimierung der Abfrageleistung und das Zwischenspeichern von Seitenausgaben zur Beschleunigung des Renderings. Der Caching-Mechanismus verbessert effektiv die Reaktionsgeschwindigkeit der Website, verbessert das Benutzererlebnis und reduziert die Serverlast.

So aktualisieren Sie Win11 Englisch 21996 auf vereinfachtes Chinesisch 22000_So aktualisieren Sie Win11 Englisch 21996 auf vereinfachtes Chinesisch 22000 So aktualisieren Sie Win11 Englisch 21996 auf vereinfachtes Chinesisch 22000_So aktualisieren Sie Win11 Englisch 21996 auf vereinfachtes Chinesisch 22000 May 08, 2024 pm 05:10 PM

Zuerst müssen Sie die Systemsprache auf die Anzeige in vereinfachtem Chinesisch einstellen und neu starten. Wenn Sie die Anzeigesprache zuvor auf vereinfachtes Chinesisch geändert haben, können Sie diesen Schritt natürlich einfach überspringen. Beginnen Sie als Nächstes mit dem Betrieb der Registrierung regedit.exe, navigieren Sie direkt zu HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlNlsLanguage in der linken Navigationsleiste oder der oberen Adressleiste und ändern Sie dann den InstallLanguage-Schlüsselwert und den Standardschlüsselwert auf 0804 (wenn Sie ihn in Englisch ändern möchten). us, Sie müssen zunächst die Anzeigesprache des Systems auf en-us einstellen, das System neu starten und dann alles auf 0409 ändern) Sie müssen das System an dieser Stelle neu starten.

Gründe für Vor- und Nachteile des Java-Frameworks Gründe für Vor- und Nachteile des Java-Frameworks Jun 03, 2024 pm 04:50 PM

Vor- und Nachteile des Java-Frameworks: Vorteile: Beschleunigte Entwicklung, verbesserte Codequalität, reichhaltiges Ökosystem, Code-Wiederverwendung, Nachteile: Leistungsaufwand, Komplexität und Lernkurve, mangelnde Flexibilität, Wartungsaufwand

So finden Sie die von Win11 heruntergeladene Update-Datei. Geben Sie den Speicherort der von Win11 heruntergeladenen Update-Datei an So finden Sie die von Win11 heruntergeladene Update-Datei. Geben Sie den Speicherort der von Win11 heruntergeladenen Update-Datei an May 08, 2024 am 10:34 AM

1. Doppelklicken Sie zunächst auf dem Desktop auf das Symbol [Dieser PC], um es zu öffnen. 2. Doppelklicken Sie dann mit der linken Maustaste, um [Laufwerk C] einzugeben. Systemdateien werden im Allgemeinen automatisch auf Laufwerk C gespeichert. 3. Suchen Sie dann den Ordner [Windows] auf dem Laufwerk C und doppelklicken Sie, um ihn aufzurufen. 4. Nachdem Sie den Ordner [Windows] aufgerufen haben, suchen Sie den Ordner [SoftwareDistribution]. 5. Suchen Sie nach der Eingabe den Ordner [Download], der alle Win11-Download- und Update-Dateien enthält. 6. Wenn wir diese Dateien löschen möchten, löschen Sie sie einfach direkt in diesem Ordner.

See all articles