image
Redis是什麼?
全稱:REmote DIctionary Server
Redis是一種key-value形式的NoSQL記憶體資料庫,由ANSI C編寫,遵守BSD協定、支援網絡、可基于記憶體亦可持久化的日志型、Key-Value資料庫,并提供多種語言的API。
Redis最大的特性是它會将所有資料都放在記憶體中,是以讀寫速度性能非常好。當然,它也支援将記憶體中的資料以快照和日志的形式持久化到硬碟,這樣即使在斷電、機器故障等異常情況發生時資料也不會丢失,Redis能從硬碟中恢複快照資料到記憶體中。
官網: https://redis.io/ 中文: http://www.redis.cn/ Github: https://github.com/antirez/redis
Redis有什麼優勢?
1、性能高,速度快
Redis指令執行速度非常快,官方給出的讀寫性能可以達到10W/秒。為什麼會如此之快呢?有以下幾個因素:
- 資料存儲在記憶體中,直接與記憶體連接配接。
- 由相對底層的C語言實作,離作業系統更近。
- 實作源碼很精湛,僅僅幾萬行代碼,簡單穩定。
- 使用了單線程模型,無多線程競争、鎖等問題。
2、豐富的資料結構
Redis與其他的記憶體資料庫不同的是,Redis擁有豐富的資料類型,如字元串、哈希、清單、集合、有序集合等。正是因為Redis豐富的資料類型,所有它能應用的場景非常多。
3、豐富的特性
除了支援豐富的資料結構外,還支援以下進階功能。
- 支援鍵過期功能,可以用來實作定時緩存。
- 支援釋出/訂閱功能,可以有來實作消息隊列。
- 支援事務功能,可以保證多條指令的事務性。
- 支援供管道功能,能夠批量處理指令。
- 支援Lua腳本功能。
- 支援叢集分片和資料複制功能。
- 支援記憶體資料持久化硬碟功能。
4、豐富的用戶端
官網索引: http://www.redis.cn/clients.html
從官網給出的用戶端清單可以看出,各種各種的語言都能接入到Redis,接入包括了所有的主流開發語言。
目前使用Redis的公司非常多,國内外都有很多重量級的公司在用。是以,現在學習Redis是大勢所趨,學好Redis能為自己在日後的工作謀生中增加一個強有利的競争手段。
推薦:
成為架構師的十階段學習資料如果對你有用,歡迎分享到朋友圈