亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Redis > 正文

Redis服務器的啟動過程分析

2020-03-17 12:43:05
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Redis服務器的啟動過程分析,本文講解了初始化Redis服務器全局配置、加載配置文件、初始化服務器、加載數據、開始網絡監聽等內容,需要的朋友可以參考下
 

本文將通過分析代碼來介紹Redis的啟動過程,通過查看Redis 的啟動腳本,得知Redis的啟動時從Redis.c的main方法開始的。Redis啟動可以分為以下幾個步驟:

1.初始化Redis服務器全局配置
2.重置服務器Save參數(具體下文詳解)和加載配置文件
3.初始化服務器
4.加載數據庫
5.開始網絡監聽

一,初始化Redis服務器全局配置。這一步驟主要是主要是根據Redis.h中設置的Static值來初始化Redis服務器配置,這里設置是Redis服務器的默認配置。如:

·TCP Port,Redis Client的缺省Timeout;
·Redis缺省的數據庫數目;
·Redis Append 持久化方式的參數設置;
·Redis的所支持的各種數據結構的缺省值的設置;
·Redis內存Swap相關設置;
·Redis Master & Slave相關的配置;
·Redis Command Table初始化。

 二,加載配置文件:

這一步是通過讀取的配置文件來對Redis服務器進行設置,將會覆蓋上一步的某些缺省設置。打開下載下來的Redis源代碼,我們可以看到其根目錄下有一個默認的配置文件redis.conf。需要注意的是,如果在啟動Redis的時候沒有指定配置文件,則Redis服務器在啟動的時候是不會加載這個默認的配置文件進行配置的。而且這個默認的配置文件和第一步中得全局默認缺省配置不盡相同,比如針對Redis的Append模式的數據保存策略的配置,redis.conf里面的設置是:

save 900 1 -------15分鐘內一次更新
save 300 10 ------5分鐘內10次更新
save 60 10000 ---1分鐘內10000次更新。

而上一步里面的默認缺省配置確實:

save 60*60 1 -------一個小時內1次更新
save 300 100 ------5分鐘內100次更新
save 60 10000 ---1分鐘內10000次更新。

因此我們在啟動Redis的時候如果默認配置不能滿足要求,則需要指明配置文件進行配置。

三,初始化服務器:

初始化服務器是在initServer()方法中完成的,次方法利用上兩步設置的參數進一步初始化服務器:

·創建用來維護clients和slaves的list
·創建共享對象。redisObject這個struct里有個變量叫做refcount,這個變量就是用來實現共享的。Redis的對象目前Redis只支持共享StringObject。Redis的共享對象有兩大類比:第一類:Redis server的各種操作需要經常用到的各類對象,如:Redis Command的分隔符 "/r/n",用于Redis command的reply的"+OK/r/n"或者"-ERR/r/n"等對象,因為在Redis的各種操作這類對象要被頻繁使用,所以就在啟動Redis的時候創建好,然后共用這些對象,減少時間成本和空間成本;第二,類的共享對象就是對應于數字的StringObject,如:Set "olylakers1" 1234; Set "olylakes2" 1234;在Redis內部,"olylakers1"和"olylakers2"這兩個key都指向由數字1234轉化的StringObject。這樣在海量數據和特定存儲內容下,可以節省大量的內存空間??捎猛ㄟ^REDIS_SHARED_INTEGERS這個參數來指定Redis啟動的時候創建多少個第二類共享對象,默認的參數是10000,即創建的StrongObject個取值范圍是0-9999之間。

·創建Pub/Sub通道
·初始化網絡監聽EventLoop的相關內容,如eventLoop,timeEvent,fileEvent等
·如果開啟了VM,則初始化虛擬內存相關的IO/Thread

四,加載數據:

根據配置的不同,Redis加載數據的源也不一樣,如果在配置文件里設置了appendonly  yes(默認是no),那么就從appendfile加載數據,反之則從RedisDb加載數據

·從appendfile加載數據:我們先來看一下appendfile的內容是什么。下面的一條記錄摘取自appendfile:SET $9 olylakers $3 oly。很顯,appendfile保存的就是redis server接收到的各種命令,那么從appendfile加載數據就是redis server從appenfile里面讀取這些命令的記錄,然后重新把這些命令執行一遍即可。需要注意的是,如果開啟了VM,那么在從appendfile加載數據的時候可能要涉及swap操作。
·從redisdb加載數據:如果沒有開啟appendonly,那么則需要從db file加載數據到內存,其過程是:
1.通過處理select命令,選擇DB
2.然后從db file讀取key和value
3.檢查key是否過期,如果過期則跳過這個key,如果不過期,則把數據Add到對應的db的dict中
4.如果開啟了VM,則從db file中load數據,也可能涉及到swap操作

五,開始網絡監聽:

Redis的網絡監聽沒有采用libevent等,而是自己實現了一套簡單的機遇event驅動的API,具體見ae.c。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产玖玖精品视频| 亚洲午夜精品久久久久久久久久久久| 日本一区二区三区在线播放| 亚洲精品av在线| 国产丝袜一区视频在线观看| 久久精品久久精品亚洲人| 国产精品欧美亚洲777777| 亚洲国产精品国自产拍av秋霞| 亚洲欧美精品中文字幕在线| 在线精品国产成人综合| 亚洲欧美综合图区| 日韩美女免费线视频| 欧美激情精品久久久| 国产精品免费小视频| 欧美一级片免费在线| 国产一区二区三区在线免费观看| 亚洲free嫩bbb| 亚洲午夜av久久乱码| 国产精品自在线| 精品国产区一区二区三区在线观看| 国产成人aa精品一区在线播放| 性色av一区二区三区免费| 国产91ⅴ在线精品免费观看| 色噜噜久久综合伊人一本| 国产精品视频一| 91精品视频免费看| 亚洲毛片在线观看| 欧美日本啪啪无遮挡网站| 最好看的2019的中文字幕视频| 成人黄色在线观看| 在线日韩中文字幕| 亚洲国产精品字幕| 国产原创欧美精品| 国产精品欧美亚洲777777| 国产午夜精品一区二区三区| 久久精品2019中文字幕| 国产欧美 在线欧美| 亚洲码在线观看| 亚洲电影第1页| 欧美另类高清videos| 国产精品久久久91| 欧美性理论片在线观看片免费| 高清欧美一区二区三区| 国产精品香蕉在线观看| 国产精品男人的天堂| 91高清视频在线免费观看| 欧美性猛交xxxx免费看久久久| 91香蕉嫩草影院入口| 亚洲性夜色噜噜噜7777| 日韩在线观看免费| 欧美日韩在线观看视频| 九九热视频这里只有精品| 正在播放欧美视频| 亚洲国产欧美久久| 日韩中文字幕在线| 国产精品美女免费| www日韩欧美| 狠狠色噜噜狠狠狠狠97| 久久成人精品一区二区三区| 色综合91久久精品中文字幕| 国产欧美va欧美va香蕉在| 亚洲大尺度美女在线| 久久久久久国产精品久久| 亚洲人成电影网站色xx| 欧美一级淫片丝袜脚交| 亚洲欧美日韩久久久久久| 国产精品免费看久久久香蕉| 亚洲成人黄色在线观看| 亚洲一级片在线看| 韩国欧美亚洲国产| 欧美综合第一页| 成人福利视频在线观看| 国产欧美一区二区三区久久| 久久精品青青大伊人av| 亚洲色图色老头| 97视频免费观看| 国产脚交av在线一区二区| 久久久久久成人| 亚洲老头老太hd| 亚洲人成电影网站色www| 日韩欧美精品中文字幕| 亚洲激情视频网站| 国产成人在线播放| 黑人欧美xxxx| 久久成人一区二区| 久久久国产91| 日韩电影大全免费观看2023年上| 成人xvideos免费视频| 欧美有码在线观看| 午夜精品三级视频福利| 色先锋资源久久综合5566| 按摩亚洲人久久| 九九热精品视频国产| 精品人伦一区二区三区蜜桃免费| 国产精品精品视频| 国产成人自拍视频在线观看| 国产精品视频最多的网站| 久久成年人视频| wwwwwwww亚洲| 色妞久久福利网| 91免费的视频在线播放| 日韩av大片在线| 美女av一区二区三区| 亚洲二区在线播放视频| 欧美日韩日本国产| 国产精品电影网站| 伊人久久久久久久久久久久久| 日韩美女视频中文字幕| 一个色综合导航| 亚洲午夜久久久久久久| 91亚洲精品久久久| 国产精品视频导航| 自拍偷拍亚洲精品| 国产精品一久久香蕉国产线看观看| 亚洲国产精彩中文乱码av在线播放| 播播国产欧美激情| 久久九九有精品国产23| 久久久久国产精品免费| 中文字幕亚洲无线码a| 国产z一区二区三区| 欧美日韩一区二区在线播放| 中文字幕久热精品在线视频| 日韩中文字幕不卡视频| 亚洲国产中文字幕久久网| 91免费在线视频| 日本久久精品视频| 美女啪啪无遮挡免费久久网站| 久热精品视频在线| 亚洲999一在线观看www| 亚洲国产另类 国产精品国产免费| 国产精品久久久久久久9999| 久久久久久久电影一区| 精品国产一区二区三区久久狼5月| 欧美怡春院一区二区三区| 久久精品国产亚洲一区二区| 成人亚洲欧美一区二区三区| 久久久亚洲影院| 午夜精品久久久久久久久久久久久| 第一福利永久视频精品| 欧美精品手机在线| 久久精品国产亚洲一区二区| 日韩中文综合网| 日韩国产高清视频在线| 日韩精品免费综合视频在线播放| 欧美视频中文字幕在线| 中文字幕亚洲天堂| 国产福利精品在线| 亚洲国产成人精品电影| 国产亚洲欧洲高清| 日韩精品电影网| 日韩精品在线观看视频| 日韩av电影院| 日韩视频欧美视频| 欧美性受xxxx黑人猛交| 日本人成精品视频在线| 欧美一级片一区| 亚洲最大的免费| 日韩一区二区在线视频| 亚洲国产高清福利视频| 91深夜福利视频| 日韩免费精品视频| 日本成熟性欧美| 亚洲加勒比久久88色综合| 日本伊人精品一区二区三区介绍|