1. 準備運行環(huán)境
* 設(shè)置oom handler,zmalloc分配內(nèi)存失敗時調(diào)用
* 初始化隨機種子,用于生成隨機數(shù)
* 將server參數(shù)初始化為默認值
* 創(chuàng)建命令與處理函數(shù)的映射表
2. 解析命令行參數(shù)、loadServerConfig()解析配置文件
* 配置文件會覆蓋命令行指定的參數(shù)
* 無效的配置項或者不合理的配置值會導(dǎo)致redis無法正常啟動
3. initServer()初始化服務(wù)
* 安裝信號處理函數(shù)
* 創(chuàng)建共享對象,redis預(yù)分配好常用的對象用于共享,以節(jié)省內(nèi)存
* 根據(jù)maxc lients配置調(diào)整max open files
* 創(chuàng)建全局db字典,每個db對應(yīng)一個dict
* 監(jiān)聽網(wǎng)絡(luò)端口,安裝事件處理器
* 如果開啟了aof,打開aof文件
* 創(chuàng)建serverCron定時器
4. loadDataFromDisk()從rdb或aof文件加載數(shù)據(jù)
* load數(shù)據(jù)出錯(比如文件格式亂掉)等會導(dǎo)致redis不能正常啟動
* loading的過程中,redis仍能處理請求,但大部分請求都會回復(fù)-LOADING錯誤
5. aeMain()開始事件循環(huán),接收客戶端請求
監(jiān)聽文件描述符的事件處理函數(shù)初始化為acceptTcpHandler,新建立的連接的事件處理函數(shù)設(shè)置為readQueryFromClient,readQueryFromClient從網(wǎng)絡(luò)連接上讀取請求,解析出請求參數(shù)并處理。
您可能感興趣的文章:- 64位Windows下安裝Redis教程
- Linux下Redis的安裝和部署
- CentOS 6.6下Redis安裝配置記錄
- Redis數(shù)據(jù)庫的安裝配置方法
- Windows下Redis的安裝使用圖解
- windows 64位下redis安裝教程
- Django中redis的使用方法(包括安裝、配置、啟動)
- CentOS系統(tǒng)下Redis安裝和自啟動配置的步驟
- 詳解linux下redis安裝、啟動與停止,redis做成服務(wù)
- Redis的配置、啟動、操作和關(guān)閉方法
- 解決redis服務(wù)啟動失敗的問題
- mac下設(shè)置redis開機啟動方法步驟
- redis基本安裝判斷、啟動使用方法示例