閱讀目的: 對什麼是內存型數據庫有概念性的認知。?web
閱讀需知:有關Redis系列的博文,大體有如下的5篇博文。本ID將陸續補充。 redis
1 . 0 :首先,這是您在Redis的官方網站:數據庫
1.1 您須要成功的下載,安裝,而且配置好Redis。 有關過程請參考本ID的另外的一篇博文:高併發
Redis 系列 - 2 【安裝與配置】性能
1.2 若是您須要瞭解Redis的設計與實現,請參考本ID博文:學習
Redis 系列 - 3 【Redis的設計與實現】網站
1.3 若是您須要瞭解Redis的 客戶端,請參考本ID的其餘博文:google
Redis 系列 - 4 【Redis 客戶端 - JRedis的詳細解析】spa
1.4 若是您須要瞭解 Redis與Storm是如何整合的,那麼請參考本ID的博文:
Redis系列 -5 【Storm-redis-pubsub】 -Storm接口系列
? 1.5 若是您須要瞭解,抑或是在使用的過程之中出現了問題,請參考本ID的另外的博文
? ?Redis系列 - 6 【疑難雜症與問題診斷】 - QA時間。
若是以上的博文存在任何的紕漏,亦或您對本ID的博文有任何疑問,觀點,建議,請及時給我反饋。多謝您的閱讀。
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列表的讀取和更新。
一個詳細的示範用例,還請參考本ID的另一篇博文: Storm 【topN】 排序。期間使用的是:Storm-redis-pubsub的接口
性能極高 – Redis能支持超過 100K+ 每秒的讀寫頻率。
豐富的數據類型 – Redis支持二進制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 數據類型操做。
原子 – Redis的全部操做都是原子性的,同時Redis還支持對幾個操做全並後的原子性執行。
豐富的特性 – Redis還支持 publish/subscribe, 通知, key 過時等等特性。
是數據庫容量受到物理內存的限制,不能用做海量數據的高性能讀寫,所以Redis適合的場景主要侷限在較小數據量的高性能操做和運算上。
總結: Redis受限於特定的場景,專一於特定的領域之下,速度至關之快,目前還未找到能替代使用產品。