- 高效使用Redis:一書學(xué)透數(shù)據(jù)存儲與高可用集群
- 熊浩含等
- 479字
- 2024-04-25 19:19:23
第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è)計的,增、刪、改、查等操作相對簡單。
- 程序員修煉之道:從小工到專家
- 數(shù)據(jù)分析實戰(zhàn):基于EXCEL和SPSS系列工具的實踐
- 數(shù)據(jù)庫原理及應(yīng)用教程(第4版)(微課版)
- 大數(shù)據(jù)可視化
- 大話Oracle Grid:云時代的RAC
- 企業(yè)級數(shù)據(jù)與AI項目成功之道
- Oracle PL/SQL實例精解(原書第5版)
- Web Services Testing with soapUI
- The Natural Language Processing Workshop
- Filecoin原理與實現(xiàn)
- MySQL技術(shù)內(nèi)幕:InnoDB存儲引擎
- Managing Software Requirements the Agile Way
- Mastering Java for Data Science
- Applying Math with Python
- 達(dá)夢數(shù)據(jù)庫集群