Redis 啟動流程分析

2021-06-19 22:39:30 字數 999 閱讀 6102

redis是基於c語言的,每個c檔案對應乙個模組,可以認為是乙個元件。根據對其源**的分析可以得出,在redis服務啟動的時候涉及到以下幾個元件模組和方法。

在redis.c的main函式,主要做三件事情:

1)載入配置包括從命令列或者傳入配置檔案載入;

2)啟動unix和tcp的監聽,客戶端的列表儲存在redisserver的clients中;

3)啟動ae事件。

啟動完成,ae會定時間去查詢各個客戶端是否有輸入,如果有讀取客戶端輸入並且對命令進行解析。

對命令的解析主要是基於redisserver的rediscommandtable (redis.c)進行,從這個結構體可以看出redis所有的命令列表以及對應的處理函式。

struct rediscommand rediscommandtable = ,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,,,,

,};

ubuntu upstart啟動流程分析

簡介 最近做linux課程設計 核心裁剪和檔案系統定製 選擇了ubuntu10.10作為實驗的平台。不同的linux發行版,使用者態的初始化機制有所差別,ubuntu自從6.10版本之後就使用了較新的upstart機制來進行系統的初始化。upstart是一種基於事件驅動的服務啟動機制,可以使多個系統...

Ubuntu init啟動流程分析

之前在查詢linux系統init流程的相關資料時總是能夠看到inittab的身影,但是在我的ubuntu上是沒有這個檔案的,到後來才知道採用 upstart方式的ubuntu上是沒有inittab這個檔案的。在舊式的system v initialization中,etc inittab可是個相當重...

Uboot啟動流程分析

uboot是嵌入式系統中最常用的bootloader,這裡我們以s3c2410為例分析一下uboot的啟動流程。首先通過uboot的鏈結檔案,我們可以看到uboot執行是執行的第一段 在start.s中。entry start sections align 4 rodata align 4 data...