Wie behandelt Redis mehrere Threads (von verschiedenen Clients), die dieselbe Datenstruktur in Redis aktualisieren? Was ist die empfohlene Best Practice für einen solchen Anwendungsfall?Sind redis-Operationen auf Datenstrukturen threadsicher
Antwort
Wenn Sie das Little redis Buch an irgendeinem Punkt lesen, kommt dieser Satz.
„Sie wissen es vielleicht nicht, aber Redis ist eigentlich Single-Threaded, das ist, wie jeder Befehl atomar sein garantiert. Während ein Befehl ausgeführt wird, kein anderer Befehl laufen wird.“
Werfen Sie einen Blick in http://openmymind.net/2012/1/23/The-Little-Redis-Book/ für weitere Informationen
Grüße
so scheint 'asyncio_redis' sinnlos? – Juggernaut
@Juggernaut Sie würden asyncio verwenden, wenn Ihr Python-Code bei Redis-Aufrufen nicht blockieren soll. Asyncio ist nur eine nicht blockierende Python-Bibliothek und keine Bibliothek, um Transaktions- oder Nebenläufigkeitsdatenbankprobleme zu lösen. Im Wesentlichen befinden sich asyncio_redis und redis auf zwei verschiedenen Layern auf Ihrem Stack und schließen sich daher nicht gegenseitig aus. Wenn Ihre Anwendung redis verwendet und Sie möchten, dass Ihre redis-Aufrufe asynchron sind, sollten Sie asyncio_redis verwenden. Hoffe, das hilft. – andrefsp
Ich denke, Sie können hier eine Antwort geben @andrefsp http://stackoverflow.com/questions/42597328/redi-block-untill-key-exists – Juggernaut
- 1. Welche Operationen sind threadsicher auf std :: map?
- 2. Was sind selbstregelnde Datenstrukturen?
- 3. Was sind Datenstrukturen auf unterster Ebene?
- 4. Sind Quartz-Scheduler-Instanzen threadsicher?
- 5. Sind statische Java-Initialisierer threadsicher?
- 6. Sind Python-integrierte Container threadsicher?
- 7. Sind Methodenparameter in Java threadsicher?
- 8. Sind gnu syslog(), openlog() und closelog() threadsicher?
- 9. Welche Operationen im Knoten sind threadsicher?
- 10. Was bedeutet es "Unveränderliche Zeichenfolgen sind threadsicher"
- 11. Sind BinaryFormatter serialisieren und deserialisieren threadsicher?
- 12. Sind primitive Datentypen in C# atomar (threadsicher)?
- 13. Sind statische Variablen in GCC threadsicher?
- 14. Sind statische Methoden mit Out-Argumenten threadsicher?
- 15. Sind linq-Operationen für gleichzeitige Sammlungen threadsicher?
- 16. Sind Dapper QueryMultiple/Query/Execute Methoden threadsicher?
- 17. Sind die Zeitfunktionen von MSVC threadsicher?
- 18. Was sind Datenstrukturen in Objective-C?
- 19. Welche Datenstrukturen sind im Linux-Kernel verfügbar?
- 20. Datenstrukturen Frage
- 21. Warum ist ReadOnlyDictionary threadsicher?
- 22. Warum sind Klassen wie BindingList oder ObservableCollection nicht threadsicher?
- 23. Sind LoadLibrary, FreeLibrary und GetModuleHandle Win32-Funktionen threadsicher?
- 24. Sind die boost socket Lese- und Schreibfunktionen threadsicher?
- 25. Ist ODataController threadsicher?
- 26. Ist .NET System.Net.CookieContainer threadsicher?
- 27. Ist dieser Code threadsicher? Wie kann ich es threadsicher machen?
- 28. Welche anderen Datenstrukturen sind in C++ STL verfügbar?
- 29. Was sind gut codierte Beispiele für Standard-Datenstrukturen in PHP?
- 30. Suchmethoden Datenstrukturen
Siehe http://stackoverflow.com/questions/10489298/redis-is-single-threaded-then-how-does-it-do -concurrent-io/10495458 # 10495458 –