Memcached 캐시가 높은 동시 읽기 및 쓰기를 지원할 수 있는 이유는 무엇입니까?
1. 다중화 I/O 모델
기존 I/O에서는 다른 사용자가 연결될 때까지 사용자의 I/O 연결이 준비되지 않을 때까지 기다릴 수 있습니다. 서버가 시스템 정체로 인해 응답을 받지 못합니다.
다중 I/O 모델은 메시지 알림 모드입니다. 사용자가 I/O 연결 준비가 되면 시스템은 연결이 I/O 준비가 되었음을 알려주므로 차단되지 않습니다. 사용자 연결(memcached가 이를 지원하는 이유)
높은 동시 읽기 및 쓰기
2. 멀티스레딩 모델
멀티스레딩 모델은 다음과 같이 구분됩니다.
메인 스레드: 메인 클라이언트 연결을 수락하고 연결을 하위 스레드 CQ 대기열에 푸시한 후 처리해야 할 클라이언트 연결이 있음을 하위 스레드에 알립니다.
하위 스레드: 알림을 받은 후 하위 스레드 -thread는 CQ 대기열에서 연결을 꺼내고 libevent에 등록하여 클라이언트의 읽기 및 쓰기 작업을 모니터링합니다.
시간이 나면 소스 코드를 업로드해 주세요!
위 내용은 내용적인 측면을 포함하여 memcached 캐싱의 실행 과정을 소개한 내용이므로 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.