国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Redis > 正文

redis啟動流程介紹

2020-03-17 12:43:35
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了redis啟動流程介紹,本文更分5步,分別是準備運行環境、解析命令行參數、initServer()初始化服務、loadDataFromDisk()從rdb或aof文件加載數據、aeMain()開始事件循環,接收客戶端請求,需要的朋友可以參考下
 

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從網絡連接上讀取請求,解析出請求參數并處理。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 栖霞市| 苍溪县| 峡江县| 罗定市| 达尔| 镇赉县| 荔浦县| 高邮市| 光山县| 兴和县| 新密市| 雷山县| 杭锦后旗| 都兰县| 林州市| 安康市| 营口市| 汉川市| 招远市| 潮州市| 吴堡县| 佛山市| 广宗县| 阿拉尔市| 卢龙县| 札达县| 商水县| 晋中市| 城固县| 利川市| 灵武市| 清水河县| 深圳市| 双鸭山市| 泰兴市| 海盐县| 伊通| 龙州县| 乾安县| 苏尼特左旗| 西安市|