redis 启动 redis启动代码分析

【redis 启动 redis启动代码分析】导读:本文主要分析Redis的启动代码 , 从main函数开始 , 一步步分析各个函数的作用,让读者了解Redis的启动过程 。
1. main函数:main函数是Redis的入口,它会调用redisServer,将Redis的服务器启动 。
2. redisServer函数:redisServer函数会根据传入的参数来决定Redis的配置,并调用initServer函数,初始化Redis的服务器 。
3. initServer函数:initServer函数会调用createPidFile,创建pid文件;调用initNetworking,初始化网络;调用initSignalHandlers,初始化信号处理;调用aofRewriteBufferReset,重置AOF重写缓冲区;调用resetServerStats,重置服务器状态;调用loadDataFromDisk , 从磁盘加载数据;调用rdbSaveBackground,后台执行RDB保存;调用replicationCron , 复制定时任务;调用cron,定时任务;调用updateDictResizePolicy , 更新字典调整策略;调用moduleInitModulesSystem,初始化模块系统;调用clusterInit,初始化集群;调用slowlogInit,初始化慢日志;调用latencyMonitorInit,初始化延迟监控;调用bioInit , 初始化BIO;调用luaCron,Lua定时任务;调用setTimeOfDay,设置时间;调用redisAsciiArt,显示ASCII图形;调用redisLog,记录日志;调用redisSetProcTitle,设置进程标题;调用createSharedObjects , 创建共享对象;调用moduleLoadFromQueue,从队列中加载模块;调用listenToPort,监听端口;调用clusterStart , 启动集群;调用startLuaPersistentScripts,启动Lua持久脚本;调用redisServerCron , Redis服务器定时任务;调用pubsubInit,初始化发布/订阅;调用initSentinelConfig , 初始化哨兵配置;调用sentinelTimer,哨兵定时器;调用sentinelHandleConfiguration,哨兵处理配置;调用loadServerConfig,加载服务器配置 。
4. 其他函数:上述函数中,还会调用其他更底层的函数,如createPidFile会调用writePidFile,initNetworking会调用openListenSocket,initSignalHandlers会调用setupS

    推荐阅读