淺談Redis的特性
阿新 • • 發佈:2019-01-24
在這篇文章中,我們將談論 Redis(REmote DIctionary Server)。Redis是一個開源的、記憶體式的、鍵值儲存資料庫。它也被稱為作為鍵值儲存的字典伺服器,這些鍵值不僅可以是字串,還可以是hashes(雜湊型別)、sets(集合)、lists(列表) 和sorted sets(有序集合)。
Redis與Memcached外形上非常相似,但它們之間也有一些差異,如下圖:
特性細節
記憶體式: Redis將鍵值儲存在主存中,用於快速地讀寫訪問。
複製: Redis支援主從複製。資料讀取在slave完成,而資料寫入在 master 完成。複製提供可伸縮性和可用性。任何一個slave宕機,其他的slave還可以提供資料訪問。
資料結構: Redis不僅儲存字串,還支援列表,集合,雜湊和有序集合。
虛擬記憶體: Redis使用RAM作為記憶體式儲存。但是,在記憶體不足的情況下,它使用虛擬記憶體來儲存資料。
釋出/訂閱模型: Redis支援建立釋出和訂閱通道,這樣Redis客戶端可以訂閱任意的通道來進行資料消費,並且任何已訂閱該通道的客戶端可以釋出資料。
資料永續性: Redis將記憶體中的資料定期儲存到檔案系統中。當Redis節點故障時,資料可以從Redis資料檔案恢復。
Redis有豐富的SDK支援。你可以在這裡找到客戶端庫列表。
有很多高流量網站已經使用了Redis,下面給出了其中一些。
- Stack Overflow
- Craigslist
- Rackspace
- Plugin support for Magento
- GitHub
Redis多年來保持增長趨勢。來自 DB-Engines對Redis和Memcached的統計資料如下表所示。那麼,DB-Engines具體是如何統計趨勢的,請點選。