J'ai une certaine confusion dans redis. Je suis auto-apprentissage redis.Redis demande de traitement interne
Je dois savoir que redis est monothread et fonctionne sur le concept de boucle d'événement. Les opérations de lecture/écriture sont donc sérialisées en redis et il n'y a pas de condition de concurrence. Ma confusion est - quand je pense naïvement à l'architecture à un seul thread, je peux imaginer qu'il existe un tampon où toutes les demandes de lecture/écriture se rassemblent et le fil les planifie un par un. Mais dans une application Internet réelle où des milliers ou des millions de demandes doivent être traitées, comment redis gère-t-il ces demandes sans latence significative? Si une opération d'écriture dure quelques millisecondes, bloque-t-elle une autre opération d'écriture en lecture pendant cette période?
Redis implémente-t-il un concept de verrouillage comme le db relationnel? Si non, alors comment redis gère-t-il des milliers de lectures/écritures sans latence significative? N'importe quels internes/exemples seraient grands pour mon étude plus loin.