第一段階
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 |
この段階の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操作を同期して、ファイルのためのソケット |