欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

redis啟動(dòng)流程介紹

 更新時(shí)間:2015年01月08日 17:00:30   投稿:junjie  
這篇文章主要介紹了redis啟動(dòng)流程介紹,本文更分5步,分別是準(zhǔn)備運(yùn)行環(huán)境、解析命令行參數(shù)、initServer()初始化服務(wù)、loadDataFromDisk()從rdb或aof文件加載數(shù)據(jù)、aeMain()開始事件循環(huán),接收客戶端請(qǐng)求,需要的朋友可以參考下

1. 準(zhǔn)備運(yùn)行環(huán)境

* 設(shè)置oom handler,zmalloc分配內(nèi)存失敗時(shí)調(diào)用
* 初始化隨機(jī)種子,用于生成隨機(jī)數(shù)
* 將server參數(shù)初始化為默認(rèn)值 
* 創(chuàng)建命令與處理函數(shù)的映射表

2. 解析命令行參數(shù)、loadServerConfig()解析配置文件

* 配置文件會(huì)覆蓋命令行指定的參數(shù)
* 無(wú)效的配置項(xiàng)或者不合理的配置值會(huì)導(dǎo)致redis無(wú)法正常啟動(dòng)

3. initServer()初始化服務(wù)

* 安裝信號(hào)處理函數(shù) 
* 創(chuàng)建共享對(duì)象,redis預(yù)分配好常用的對(duì)象用于共享,以節(jié)省內(nèi)存 
* 根據(jù)maxc lients配置調(diào)整max open files
*  創(chuàng)建全局db字典,每個(gè)db對(duì)應(yīng)一個(gè)dict 
* 監(jiān)聽網(wǎng)絡(luò)端口,安裝事件處理器 
* 如果開啟了aof,打開aof文件 
* 創(chuàng)建serverCron定時(shí)器

4. loadDataFromDisk()從rdb或aof文件加載數(shù)據(jù)

* load數(shù)據(jù)出錯(cuò)(比如文件格式亂掉)等會(huì)導(dǎo)致redis不能正常啟動(dòng)
* loading的過(guò)程中,redis仍能處理請(qǐng)求,但大部分請(qǐng)求都會(huì)回復(fù)-LOADING錯(cuò)誤

5. aeMain()開始事件循環(huán),接收客戶端請(qǐng)求

監(jiān)聽文件描述符的事件處理函數(shù)初始化為acceptTcpHandler,新建立的連接的事件處理函數(shù)設(shè)置為readQueryFromClient,readQueryFromClient從網(wǎng)絡(luò)連接上讀取請(qǐng)求,解析出請(qǐng)求參數(shù)并處理。

相關(guān)文章

  • 關(guān)于Redis中bitmap的原理和使用詳解

    關(guān)于Redis中bitmap的原理和使用詳解

    這篇文章主要介紹了關(guān)于Redis中bitmap的原理和使用詳解,BitMap即位圖,使用每個(gè)位表示某種狀態(tài),適合處理整型的海量數(shù)據(jù),本質(zhì)上是哈希表的一種應(yīng)用實(shí)現(xiàn),需要的朋友可以參考下
    2023-05-05
  • Redis中秒殺場(chǎng)景下超時(shí)與超賣問(wèn)題的解決方案

    Redis中秒殺場(chǎng)景下超時(shí)與超賣問(wèn)題的解決方案

    當(dāng)我們?cè)趌inux中使用ab來(lái)模擬高并發(fā)秒殺時(shí)可能會(huì)遇到兩種問(wèn)題,“超時(shí)和超賣”,本文就詳細(xì)介紹了Redis中秒殺場(chǎng)景下超時(shí)與超賣問(wèn)題的解決方案,感興趣的可以了解一下
    2022-05-05
  • Redis教程(十五):C語(yǔ)言連接操作代碼實(shí)例

    Redis教程(十五):C語(yǔ)言連接操作代碼實(shí)例

    這篇文章主要介紹了Redis教程(十五):C語(yǔ)言連接操作代碼實(shí)例,本篇博客是該系列博客中的最后一篇,在這里將給出基于Redis客戶端組件訪問(wèn)并操作Redis服務(wù)器的代碼示例,需要的朋友可以參考下
    2015-05-05
  • Redis exists命令bug分析(案例詳解)

    Redis exists命令bug分析(案例詳解)

    Redis EXISTS 命令用于檢查給定 key 是否存在,本文重點(diǎn)給大家介紹Redis exists命令bug分析,感興趣的朋友跟隨小編一起看看吧
    2022-02-02
  • Redis批量刪除指定前綴的Key兩種方法

    Redis批量刪除指定前綴的Key兩種方法

    redis作為緩存服務(wù)器在項(xiàng)目中經(jīng)常使用,使用redis存儲(chǔ)數(shù)據(jù)時(shí),我們經(jīng)常會(huì)將key分組,這篇文章主要給大家介紹了關(guān)于Redis批量刪除指定前綴的Key兩種方法,需要的朋友可以參考下
    2024-01-01
  • redis字符串類型_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    redis字符串類型_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要為大家詳細(xì)介紹了redis字符串類型的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • 淺談Redis常見延遲問(wèn)題定位與分析

    淺談Redis常見延遲問(wèn)題定位與分析

    大部分時(shí)候,redis延遲很低,但是在某些時(shí)刻,有些redis實(shí)例會(huì)出現(xiàn)很高的響應(yīng)延時(shí),本文主要介紹了淺談Redis常見延遲問(wèn)題定位與分析,具有一定的參考價(jià)值,感興趣的可以了解一下
    2022-06-06
  • Redis?定長(zhǎng)隊(duì)列探索及實(shí)踐

    Redis?定長(zhǎng)隊(duì)列探索及實(shí)踐

    這篇文章主要介紹了Redis?定長(zhǎng)隊(duì)列探索及實(shí)踐,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • Django使用redis配置緩存的方法

    Django使用redis配置緩存的方法

    Redis是一個(gè)內(nèi)存數(shù)據(jù)庫(kù)由于其性能極高,因此經(jīng)常作為中間件、緩存使用,緩存某些內(nèi)容是為了保存昂貴計(jì)算的結(jié)果,這樣就不必在下次執(zhí)行計(jì)算,接下來(lái)通過(guò)本文給大家分享redis配置緩存的方法,感興趣的朋友一起看看吧
    2021-06-06
  • Redis List列表的詳細(xì)介紹

    Redis List列表的詳細(xì)介紹

    這篇文章主要介紹了Redis List列表的詳細(xì)介紹的相關(guān)資料,Redis列表是簡(jiǎn)單的字符串列表,按照插入順序排序,需要的朋友可以參考下
    2017-08-08

最新評(píng)論