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