- 高效使用Redis:一書學透數據存儲與高可用集群
- 熊浩含等
- 335字
- 2024-04-25 19:19:24
1.2 Redis源碼結構
Redis源碼主要放在src文件夾中。Redis的作者并沒有對這些文件進行整理,而是統一放到了一個文件夾下。其中,server.c為服務端程序,redis-cli.c為客戶端程序。
Redis源碼的核心可以簡單分為如下幾個部分。
(1)基本的數據結構
?動態字符串:sds.c。
?整數集合:intset.c。
?壓縮列表:ziplist.c。
?快速鏈表:quicklist.c。
?字典:dict.c。
?stream底層實現結構:listpack.c、rax.c。
(2)Redis數據類型的底層實現
?Redis對象:object.c。
?字符串:t_string.c。
?列表:t_list.c。
?字典:t_hash.c。
?集合及有序集合:t_set.c、t_zset.c。
?數據流:t_stream.c。
(3)Redis數據庫的實現
?數據庫的底層實現:db.c。
?持久化實現:rdb.c、aof.c。
(4)Redis服務端及客戶端實現
?事件驅動:ae.c、ae_epoll.c。
?網絡連接:anet.c、networking.c。
?服務端程序:server.c。
?客戶端程序:redis-cli.c。
(5)其他重要實現
?主從復制:replication.c。
?哨兵:sentinel.c。
?集群:cluster.c。
?其他數據結構:hyperloglog.c、geo.c等。