1. 程式人生 > >Redis 它是什麼?它用來做什麼?它的優勢與短板如何?

Redis 它是什麼?它用來做什麼?它的優勢與短板如何?

問題導讀:
1.Redis 是什麼?
2 Redis用來做什麼?
3 Redis的優點?
4 Redis的缺點?


閱讀目的: 對什麼是記憶體型資料庫有概念性的認知。?



Redis 是什麼?

    通常而言目前的資料庫分類有幾種,包括 SQL/NSQL,,關係資料庫,鍵值資料庫等等 等,分類的標準也不以,Redis本質上也是一種鍵值資料庫的,但它在保持鍵值資料庫簡單快捷特點的同時,又吸收了部分關係資料庫的優點。從而使它的位置處於關係資料庫和鍵值數 據庫之間。Redis不僅能儲存Strings型別的資料,還能儲存Lists型別(有序)和Sets型別(無序)的資料,而且還能完成排序(SORT) 等高階功能,在實現INCR,SETNX等功能的時候,保證了其操作的原子性,除此以外,還支援主從複製等功能。

  更為詳細的描述請參考如下:

        
http://code.google.com/p/redis/wiki/index


  Redis官方也同樣提供了一個名為Retwis的專案程式碼,可以對照著官方學習。

2 Redis用來做什麼?

        通常侷限點來說,Redis也以訊息佇列的形式存在,作為內嵌的List存在,滿足實時的高併發需求。而通常在一個電商型別的資料處理過程之中,有關商品,熱銷,推薦排序的佇列,通常存放在Redis之中,期間也包擴Storm對於Redis列表的讀取和更新。


3 Redis的優點

效能極高 – Redis能支援超過 100K+ 每秒的讀寫頻率。

豐富的資料型別 – Redis支援二進位制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 資料型別操作。

原子 – Redis的所有操作都是原子性的,同時Redis還支援對幾個操作全並後的原子性執行。

豐富的特性 – Redis還支援 publish/subscribe, 通知, key 過期等等特性。

4 Redis的缺點


是資料庫容量受到實體記憶體的限制,不能用作海量資料的高效能讀寫,因此Redis適合的場景主要侷限在較小資料量的高效能操作和運算上。

    總結: Redis受限於特定的場景,專注於特定的領域之下,速度相當之快,目前還未找到能替代使用產品。