Redis 비동기 I/O 멀티플렉싱이 아니라 논블로킹 I/O 멀티플렉싱이 아닌가요?
1
작성한 질문수 1
안녕하세요 강사님.
"Redis의 특징: 싱글 스레드의 반전 매력과 영속성" 강의에서
[Redis의 속도를 지탱하는 기술: 비동기 I/O 멀티플렉싱] 부분을 보면서 개인적으로 궁금해서 조금 찾아봤습니다.
제가 알아본 바로는 레디스에서는 논블로킹 소켓을 생성하여 epoll(Linux 기준)에 등록 후, epoll_wait을 통해서 준비된 소켓의 fd를 받고 read를 호출하는 것으로 알고 있습니다.
read를 호출하면 커널로 부터 데이터를 복사 받는 것으로 알고 있고, 이 부분을 동기 I/O라고 부르는 것으로 이해했습니다.
이것이 만약에 비동기 I/O가 될려면, read 호출이 아닌 커널에게 "커널 버퍼의 데이터를 읽어서 프로그램 메모리로 복사해줘"라고 요청만 한 후에 작업이 완료되면 커널이 알려주어야 하는데, 레디스는 이 방식을 사용하지 않는 것으로 알고 있습니다.
그래서 저는 레디스가 논블로킹 소켓 + 동기 I/O + I/O 멀티플렉싱이라고 이해를 했는데요, 이것을 비동기 I/O 멀티플렉싱이라고 표현하는게 맞는지 궁금해서 문의드립니다.
아니면 혹시 강의 초반 부분여서 편의상 비동기 I/O 멀티플렉싱 정도로만 표현하고 넘어가신걸까요?
강의 재밌게 잘 보고 있습니다.
좋은 강의 만들어주셔서 감사합니다!
답변 0
강의 관련 질문드립니다.
0
1
0
Jib 빌드가 83%에서 멈추는 문제 해결(windows 사용자)
1
15
1
미션 제출 방식 건의
0
34
0
트랜잭션 내 Redis I/O 에 대한 궁금한점
1
31
1
미션 진행 방식에 대한 질문입니다.
0
51
1
파킹 페이지와 대기열 큐 질문입니다.
0
47
1
최근 N개 데이터 표현 시 중복 질문
0
51
1
pub/sub의 연결 객체에 대해 질문 드립니다.
0
75
2
인기 게시판 목록(Sorted set)
0
100
2
레디스로 재고 관리
0
117
2
Lock 해제 문의 드립니다.
0
109
2
레디스로 대기큐 구현 질문
0
143
2
API LIMIT
0
87
1
캐시 무효화
0
93
2
Redis와 Kafca의 Pub/Sub 차이
0
140
2
너무 흥미진진합니다..
1
108
2
순위가 동률일 때의 처리에 대해 질문드립니다.
0
154
2
Redlock 알고리즘 관해 궁금한게 있습니다!
0
141
2
좋아요/조회수 카운팅 병목현상에 대해서 궁금한점이 있습니다.
0
119
2
백엔드 서버 코드 변경에서 프론트엔드 서버가 값을 파싱하지 못하는 문제
0
174
1
강사님 GETDEL 관련해서 질문 있습니다
0
174
2
비밀번호를 걸고 실행된 레디스 서버에 lua 스크립트를 등록하는 경우
0
181
2
보안 설정을 한 수강생들은 Connection Settings에 비밀번호를 넣어야 추가되네요
0
120
2
Redis Container 해킹
0
166
1





