ホームページ  >  記事  >  データベース  >  Redis のソース コードは何語ですか?

Redis のソース コードは何語ですか?

(*-*)浩
(*-*)浩オリジナル
2019-11-21 13:56:525254ブラウズ

Redis のソース コードは何語ですか?

#redis のソースコードは ANSI C 言語で書かれているので、まずは当然 main 関数から読み始めます。ただし、読むとき、つまり Redis にコマンドを入力するとき、コードが段階的にどのように実行されるのかを 1 つのメインスレッドを把握する必要があります。 (推奨学習: Redis ビデオ チュートリアル )

このようにして、外部から観察し、いくつかのコマンドの実行を試みることができます。これらのコマンドの外部パフォーマンスを理解した後、中に入って確認してください。対応するソースコードがどのように実装されるか。これらのコードを理解するには、まず Redis のイベント メカニズムを理解する必要があります。

さらに、Redis のイベント ループ (Event Loop) のメカニズムを理解すると、興味深い疑問も理解できるようになります。「なぜ Redis は単一スレッドで実行できるのに、同時に複数のリクエストを処理できるのでしょうか?」 (もちろん、厳密に言えば、Redis は 1 つのスレッドだけで実行されるわけではありません。メインスレッドに加えて、Redis の他のスレッドは補助的な役割を果たすだけです。これらは、時間のかかる非同期タスクを実行するためにバックグラウンドで実行されるスレッドです)

From main 関数から始めて、実際にコードの実行パスをたどることができます。範囲を限定しましょう。

main 関数から開始して段階的に実行し、最終的に Redis コマンドの実行入口に到達します。または、残りの探索を自分で完了することもできます。

初期化プロセスとイベント ループの概要

Redis ソース コードの主な機能は、ソース ファイル server.c にあります。 main 関数の実行開始後のロジックは、次の 2 つの段階に分けることができます:

各種初期化 (イベント ループの初期化を含む);

イベント ループの実行。

これら 2 つの実行段階は、以下のフローチャートで表すことができます (画像をクリックして拡大します)

Redis のソース コードは何語ですか?

以上がRedis のソース コードは何語ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。