Technologieaustausch

Redis-Thread-Modell

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

0. Referenz

[Redis-Thread-Modell]
[wichtige Ideen zur Fehlerbehebung und Lösung]

1. Verständnis des Redis-Einzelthreads

Warum Single-Thread: Die CPU ist kein Leistungsengpass (Speicher und Netzwerk), Single-Thread kann Geschäftsanforderungen erfüllen

Das Lesen und Schreiben von Netzwerk-E/A und Schlüssel-Wert-Paaren wird von einem Thread durchgeführt

Fügen Sie hier eine Bildbeschreibung ein

2. Verständnis des Redis-Multithreadings

Persistenz (aof, rdb), asynchrones Löschen (großer Schlüssel) und Datenreplikation (Master-Slave, Sentinel, Cluster) übernehmen Multithreading

Fügen Sie hier eine Bildbeschreibung ein

3. Herausforderungen von Single-Threaded IO: großes Schlüsselproblem

detailliert:[wichtige Ideen zur Fehlerbehebung und Lösung]

Unter normalen Umständen kann die Del-Anweisung zum schnellen Löschen von Daten verwendet werden. Wenn es sich bei dem gelöschten Schlüssel jedoch um ein sehr großes Objekt handelt, z. B. um einen Hash-Satz mit Tausenden von Elementen, führt die Del-Anweisung dazu, dass der Redis-Hauptthread hängen bleibt

Das Big-Key-Problem ist im Wesentlichen ein Big-Value-Problem

Fügen Sie hier eine Bildbeschreibung ein

3.0 Simulieren Sie das Einfügen von 1 Million Daten

for((i=1;i