Redis的4大法寶,2018必學(xué)中間件!
Redis是什么?
全稱:REmote DIctionary Server
Redis是一種key-value形式的NoSQL內(nèi)存數(shù)據(jù)庫,由ANSI C編寫,遵守BSD協(xié)議、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫,并提供多種語言的API。
Redis***的特性是它會將所有數(shù)據(jù)都放在內(nèi)存中,所以讀寫速度性能非常好。當(dāng)然,它也支持將內(nèi)存中的數(shù)據(jù)以快照和日志的形式持久化到硬盤,這樣即使在斷電、機(jī)器故障等異常情況發(fā)生時數(shù)據(jù)也不會丟失,Redis能從硬盤中恢復(fù)快照數(shù)據(jù)到內(nèi)存中。
官網(wǎng):https://redis.io/
中文:http://www.redis.cn/
Github:https://github.com/antirez/redis
Redis有什么優(yōu)勢?
1、性能高,速度快
Redis命令執(zhí)行速度非???,官方給出的讀寫性能可以達(dá)到10W/秒。為什么會如此之快呢?有以下幾個因素:
- 數(shù)據(jù)存儲在內(nèi)存中,直接與內(nèi)存連接。
- 由相對底層的C語言實現(xiàn),離操作系統(tǒng)更近。
- 實現(xiàn)源碼很精湛,僅僅幾萬行代碼,簡單穩(wěn)定。
- 使用了單線程模型,無多線程競爭、鎖等問題。
2、豐富的數(shù)據(jù)結(jié)構(gòu)
Redis與其他的內(nèi)存數(shù)據(jù)庫不同的是,Redis擁有豐富的數(shù)據(jù)類型,如字符串、哈希、列表、集合、有序集合等。正是因為Redis豐富的數(shù)據(jù)類型,所有它能應(yīng)用的場景非常多。
3、豐富的特性
除了支持豐富的數(shù)據(jù)結(jié)構(gòu)外,還支持以下高級功能。
- 支持鍵過期功能,可以用來實現(xiàn)定時緩存。
- 支持發(fā)布/訂閱功能,可以有來實現(xiàn)消息隊列。
- 支持事務(wù)功能,可以保證多條命令的事務(wù)性。
- 支持供管道功能,能夠批量處理命令。
- 支持Lua腳本功能。
- 支持集群分片和數(shù)據(jù)復(fù)制功能。
- 支持內(nèi)存數(shù)據(jù)持久化硬盤功能。
4、豐富的客戶端
官網(wǎng)索引:http://www.redis.cn/clients.html
從官網(wǎng)給出的客戶端列表可以看出,各種各種的語言都能接入到Redis,接入包括了所有的主流開發(fā)語言。
目前使用Redis的公司非常多,國內(nèi)外都有很多重量級的公司在用。所以,現(xiàn)在學(xué)習(xí)Redis是大勢所趨,學(xué)好Redis能為自己在日后的工作謀生中增加一個強(qiáng)有利的競爭手段。