學習筆記系列之Redis | 第一章 Redis簡介與環境搭建

Redis簡介

Nosql簡介

NoSQL是Not-Only-SQL的縮寫,是被設計用來替換傳統的關係型數據庫在某些領域的用,特別針對web2.0站點以及大型的SNS網站,用來滿足高併發、大數據的應用需求。

常見的NoSQL數據庫有:

  • HBase(Hadoop數據庫,基於列存儲)
  • MongoDB(文檔型數據庫,採用類型與JSON的BSON語法存儲記錄)
  • Redis/Memcached(鍵值存儲數據庫)

Redis介紹

Redis是NoSQLogic系列數據庫中,和Memcached最爲相似的數據庫系統,同屬鍵值存儲系統。

嚴格意義上來講,Memcached並不能算作數據庫系統,只能算作中間緩存系統,因爲其並不能進行數據的持久化存儲。

Redis的字面意思是:遠程字典服務器(REmote DIctionary Server),和Memcached相比較,提供了更加豐富的數據類型微笑,更被認爲是一種數據結構服器。

Redis VS memcached

和Memcached相比,Redis的優勢十分明顯

  • 數據類型:Redis支持更豐富的數據類型,包括字符串(string)、列表(list:可用作隊列、堆棧)、集合(set:可以進行集合的運算)、有序集合(sorted set)、哈希表(hash)等,而Memcached僅支持字符串。
  • 對象大小:Redis支持的對象大小最大支持1GB,而Memcached僅爲1MB,僅從這個角度來講,就很有使用Redis替換Memcached的必要.
  • 分片(Sharding):可以將數據離散地存儲在不同的物理機器上,以克服單臺機器的內存大小限制。Memcached是在服務器實現實現分片的,而Redis需要藉助於Jedis實現客戶端分片,Jedis是Redis官方推薦的使用Java訪問Redis的方式。

    使用Jedis的分片機制,存儲一批數據,在不同的Redis服務器上存儲着這批數據的不同部分.而這對客戶端來說,而完全透明的,看不到這種差別。另外需要注意,使用Spring Data Redis進行客戶端操作時,不提供對分片支持。

  • 持久化:Redis能夠將添加到內存中的數據持久化到磁盤,而Memcached則只能充當一個功能相對有限的緩存中間件角色。

應用場景

  • 數據庫服務器:用來存儲結構相對簡單的的數據。
  • 緩存系統:緩存需要大量讀取、少量修改的數據。
  • 構建實時消息系統:利用發佈(Pub)/訂閱(Sub)特性。
  • 對隊列的支持:基於列表(list)實現隊列(queue)、堆棧(stack)。

Redis環境搭建

MAC環境

  • Redis下載

    到官網上下載redis,官網地址:http://redis.io/

  • 解壓Redis

    拷貝到指定目錄,執行解壓命令:tar xzf redis-3.0.7.tar.gz

  • 編譯安裝

    make

    make install

    執行完,基本安裝完了,配置都採用默認配置。

  • 啓動Redis

cd 到redis解壓目錄下,執行src/redis-server,回車即啓動

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章