天天看點

Redis 的 4 大法寶,2018 必學中間件!

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能為自己在日後的工作謀生中增加一個強有利的競争手段。