官术网_书友最值得收藏!

第1章 Redis必會知識

Redis是目前較為流行的key-value對(鍵-值對)存儲系統(tǒng)。Redis在互聯(lián)網(wǎng)數(shù)據(jù)存儲方面應(yīng)用廣泛,主要由于其具有以下優(yōu)點。

1)Redis是內(nèi)存型數(shù)據(jù)庫,即Redis中的key-value對存儲在內(nèi)存中,故效率比磁盤型數(shù)據(jù)庫的效率高。

2)Redis采用單線程工作模式,不需要線程間的同步操作。Redis采用單線程工作模式,主要是因為Redis的瓶頸是內(nèi)存及帶寬,CPU并不是其性能瓶頸。

3)Redis key-value對中的value既可以是字符串,也可以是復(fù)雜的數(shù)據(jù)類型,如鏈表、集合、Hash表等。

4)Redis支持?jǐn)?shù)據(jù)持久化,可以采用RDB、AOF、RDB+AOF這3種方案。機(jī)器重啟后可以從磁盤中進(jìn)行數(shù)據(jù)恢復(fù)。

5)Redis支持主從結(jié)構(gòu),可以利用從實例進(jìn)行數(shù)據(jù)備份。

Redis可以支持100000以上的QPS,其性能之所以高,主要有以下幾個原因。

1)Redis的絕大部分命令處理只是純粹的內(nèi)存操作,內(nèi)存的讀寫速度是非常快的。

2)Redis提供單進(jìn)程多線程的服務(wù)(實際上,一個正在運(yùn)行的Redis服務(wù)器肯定不止有一個線程,但只有一個線程來處理網(wǎng)絡(luò)請求),避免了不必要的上下文切換,同時不存在加鎖、釋放鎖等同步操作。

3)Redis使用多路I/O復(fù)用模型(select、poll、epoll),可以高效處理大量并發(fā)連接。

4)Redis中的數(shù)據(jù)結(jié)構(gòu)是專門設(shè)計的,增、刪、改、查等操作相對簡單。

主站蜘蛛池模板: 石河子市| 溧水县| 抚宁县| 绥德县| 巍山| 东辽县| 东兴市| 雅江县| 屏东市| 玛多县| 甘洛县| 龙州县| 万载县| 肥乡县| 武安市| 抚州市| 九龙坡区| 策勒县| 成都市| 马关县| 南丰县| 莱西市| 南安市| 浦东新区| 富民县| 呼和浩特市| 新乡县| 瑞昌市| 黔南| 麻城市| 磴口县| 波密县| 福建省| 万源市| 高密市| 酒泉市| 聊城市| 东乡县| 牟定县| 萍乡市| 黑水县|