Redisのソースコード解析(ゼロ)学習パスノート

第一段階

Redisのは、実質的に次のファイルにあり、データ構造部分を読み取ります。

コンテンツ ファイル名
メモリの割り当て zmalloc.cとzmalloc.h
動的な文字列 sds.hとsds.c
ダブルエンドリスト adlist.c和adlist.h
辞書 dict.h和dict.c
ジャンプ台 zskiplist構造内のファイルとzskiplistNode構造上、およびt_zset.c server.h ZSLの初めにすべての機能
基本統計 hllhdrのhyperloglog.c構造だけでなく、HLLの初めにすべての機能

馴染みのRedisのメモリの符号化構造の第2相

コンテンツ ファイル名
整数データ構造 intset.h和intset.c
圧縮されたリストデータ構造 ziplist.h和ziplist.c

実現の第3段階は、Redisのデータタイプに精通しています

コンテンツ ファイル名
オブジェクトシステム object.c
文字列キー t_string.c
キーのリスト t_list.c
ハッシュキー t_hash.c
キーのセット t_set.c
キーの順序集合 関数ZSLの先頭を除くすべての機能t_zset.c
HyperLogLogキー PFで始まるhyperloglog.cすべての機能

フェーズIVおなじみのRedisデータベースを実装

コンテンツ ファイル名
データベースの実装 redisDb構造redis.hファイル、ドキュメント、db.c
通知機能 notify.c
RDB持久化 rdb.c
AOFの永続性 aof.c
  • 独立した機能モジュールが実現
    公開しredis.hファイルpubsubPattern構造、およびpubsub.cファイル購読
    マルチステート構造およびトランザクションredis.h multiCmdファイルの構造、multi.cファイルを

達成するために、クライアントとサーバー側のコードに精通し、5段目

コンテンツ ファイル名
イベント処理モジュール ae.c / ae_epoll.c / ae_evport.c / ae_kqueue.c / ae_select.c
インターネットリンクライブラリ anet.cとnetworking.c
サーバー側 redis.c
クライアント 反復cli.c
  • このタイムコードは、達成するために、次の独立した機能モジュールを読み込むことができます

    コンテンツ ファイル名
    LUAスクリプト scripting.c
    スロークエリ slowlog.c
    サーベイランス monitor.c

この段階の6段目は、複数のマシンを実現するコードのRedisの部分に精通しています

コンテンツ ファイル名
コピー機能 replication.c
Redisのセンチネル sentinel.c
クラスタ cluster.c

ファイルのテストにあります。

コンテンツ ファイル名
memtest.c メモリテスト
redis_benchmark.c Redisのは、パフォーマンステストを達成するために使用しました
redis_check_aof.c 更新ログのチェックを実行するための
redis_check_dump.c これは、ローカルのデータベースチェックを実装するために使用しました
testhelp.c 小さなCスタイルのテストフレームワーク。

次のドキュメントのいくつかのツール

コンテンツ ファイル名
bitops.c GETBIT、SETBITおよび他のバイナリビット操作命令を達成
debug.c 使用するデバッグ時
endianconv.c 低ビット変換、異なるシステム、異なる下位ビット
help.h コマンドプロンプトでアシスト
lzf_c.c 圧縮アルゴリズムシリーズ
lzf_d.c 圧縮アルゴリズムシリーズ
rand.c 乱数を発生させるための
release.c 使用のためにリリースされたとき
sha1.c 沙は、暗号化アルゴリズムを達成するために
util.c 一般的なユーティリティメソッド
crc64.c 巡回冗長検査
sort.c シーケンス

パッケージclassコマンドのいくつかのSORT実装コードの実装

コンテンツ ファイル名
bio.c 使用バックグラウンドスレッドを開くために、バックグラウンドI / O手段、
latency.c 遅延クラス
migrate.c 移行を低減させるコマンドを含むコマンドの移行カテゴリ、
pqsort.c ソートアルゴリズムのクラス
rio.c 私は定義されて/ OクラスのRedis
syncio.c I / O操作を同期して、ファイルのためのソケット
公開された257元の記事 ウォンの賞賛223 ビュー320 000 +

おすすめ

転載: blog.csdn.net/csdn_kou/article/details/103048919