Maison > Questions et réponses > le corps du texte
我创建多个进程去同时读取redis做的消息队列 请问这个会发生读取冲突么? 原因是什么呢?
黄舟2017-04-27 09:05:23
Aucun conflit, chaque élément de la file d'attente ne sera lu qu'une seule fois.
天蓬老师2017-04-27 09:05:23
Redis lui-même garantit l'exclusion mutuelle de la lecture et de l'écriture en file d'attente. Redis est monothread et fonctionne à peu près comme ceci. Votre lecture multi-processus peut en fait envoyer plusieurs paquets de requêtes de lecture en parallèle. Ces paquets de requêtes arrivent dans le tampon de socket de redis. Le traitement de redis consiste à répondre à votre requête en série sans verrous. Si Redis passe un jour en multi-thread, vous pouvez également verrouiller le mutex pour vous assurer que rien ne se passe lors de la lecture de la file d'attente.