>데이터 베이스 >Redis >Redis 소스 코드는 어떤 언어인가요?

Redis 소스 코드는 어떤 언어인가요?

(*-*)浩
(*-*)浩원래의
2019-11-21 13:56:525300검색

Redis 소스 코드는 어떤 언어인가요?

redis 소스 코드는 ANSI C 언어로 되어 있습니다. 우선, main 함수부터 읽어야 합니다. 하지만 읽을 때 하나의 메인 스레드, 즉 Redis에 명령을 입력할 때 코드가 단계별로 어떻게 실행되는지 파악해야 합니다. (추천 학습: iRedis 동영상 튜토리얼 )

그래서 외부에서 관찰하고 몇 가지 명령을 실행해 볼 수 있습니다. 이러한 명령 실행의 외부 성능을 이해한 후 해당 소스 코드가 어떻게 구현되는지 살펴보겠습니다. 이러한 코드를 이해하려면 먼저 Redis의 이벤트 메커니즘을 이해해야 합니다.

게다가 Redis의 이벤트 루프 메커니즘을 이해하면 다음과 같은 흥미로운 질문도 이해하게 됩니다. Redis는 왜 단일 스레드이지만 동시에 여러 요청을 처리할 수 있습니까? (물론 엄밀히 말하면 Redis는 하나의 스레드만으로 실행되지는 않지만 메인 스레드 외에 Redis의 다른 스레드는 보조 역할만 합니다. 백그라운드에서 실행되어 비동기식으로 시간이 많이 걸리는 작업을 수행하는 스레드입니다)

메인 함수에서 시작하여 코드 실행 경로를 따라 실제로 계속 추적할 수 있습니다. 범위를 제한해 보겠습니다.

기본 기능에서 시작하여 단계별로 따라가다가 마지막으로 Redis 명령 실행 입구에 도달합니다. 또는 나머지 탐색을 직접 완료할 수도 있습니다.

초기화 과정 및 이벤트 루프 개요

Redis 소스 코드의 주요 기능은 소스 파일인 server.c에 있습니다. 메인 함수 실행이 시작된 후의 로직은 두 단계로 나눌 수 있습니다:

다양한 초기화(이벤트 루프 초기화 포함)

이벤트 루프 실행.

이 두 가지 실행 단계는 아래 흐름도로 표현할 수 있습니다. (이미지를 확대하려면 클릭하세요)

Redis 소스 코드는 어떤 언어인가요?

위 내용은 Redis 소스 코드는 어떤 언어인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.