多进程 - 多个进程去读取redis消息队列是否会发生冲突?
PHP中文网
PHP中文网 2017-04-27 09:03:23
0
3
981

问题

我创建多个进程去同时读取redis做的消息队列 请问这个会发生读取冲突么? 原因是什么呢?

PHP中文网
PHP中文网

认证高级PHP讲师

모든 응답(3)
黄舟

충돌이 없습니다. 대기열의 각 요소는 한 번만 읽혀집니다.

曾经蜡笔没有小新

읽는 것만으로도 문제 없습니다. . .

Peter_Zhu

Redis 자체는 대기열 읽기 및 쓰기의 상호 배제를 보장합니다. Redis는 단일 스레드이며 대략 다음과 같이 작동합니다. 다중 프로세스 읽기는 실제로 여러 읽기 요청 패킷을 병렬로 보낼 수 있습니다. 이러한 요청 패킷은 Redis의 소켓 버퍼에 도착하여 잠금 없이 요청에 순차적으로 응답합니다. 어느 날 redis가 멀티스레딩으로 변경되면 큐를 읽을 때 아무 일도 일어나지 않도록 뮤텍스를 잠글 수도 있습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!