NoSQL之redis(介紹+叢集搭建)
一、NoSQL的介紹
- 什麼是NoSQL
NoSQL,叫非關係型資料庫,它的全名Not only sql。它不能替代關係型資料庫,只能作為關係型資料庫的一個良好補充。 - NoSQL的分類:
- 鍵值對(K-V)儲存資料庫
相關產品: Tokyo Cabinet/Tyrant、Redis、Voldemort、Berkeley DB
典型應用: 內容快取,主要用於處理大量資料的高訪問負載。
資料模型: 一系列鍵值對
優勢: 快速查詢
劣勢: 儲存的資料缺少結構化
- 列儲存資料庫
相關產品:Cassandra, HBase
, Riak典型應用:分散式的檔案系統
資料模型:以列簇式儲存,將同一列資料存在一起
優勢:查詢速度快,可擴充套件性強,更容易進行分散式擴充套件
劣勢:功能相對侷限
- 文件性資料庫
相關產品:CouchDB、MongoDB
典型應用:Web應用(與Key-Value類似,Value是結構化的)
資料模型: 一系列鍵值對
優勢:資料結構要求不嚴格
劣勢: 查詢效能不高,而且缺乏統一的查詢語法
- 圖形資料庫
相關資料庫:Neo4J、InfoGrid、Infinite Graph
典型應用:社交網路
資料模型:圖結構
優勢:利用圖結構相關演算法。
劣勢:需要對整個圖做計算才能得出結果,不容易做分散式的叢集方案
二、redis
- redis的介紹:redis是使用c語言編寫的一個高效能鍵值對NoSQL資料庫。Redis可以通過一些鍵值對型別來儲存資料。如:string、map、list、set、sortedset…
- redis的應用場景:快取(大資料處理時,中間快取)、分散式叢集架構中的session的分離、任務佇列(秒殺、搶購、12306等等)、網站訪問統計、應用排行。
- redis資料庫的安裝(單節點)***
①下載redis包:
官網地址:http://redis.io/下載地址:http://download.redis.io/releases/
在這裡我使用的是redis-3.0.0
②將下載的redis安裝包,放置在自己的叢集中
③檢視是否有gcc的語言環境:
yum list |grep gcc
如果沒有則下載:yum install gcc-c++
④解壓軟體包:tar -zxf redis-3.0.0.tar.gz
⑤編譯redis:
[[email protected] ~]# cd redis-3.0.0
[[email protected] redis-3.0.0]# make
⑥ 安裝redis:
[[email protected] redis-3.0.0]# make install PREFIX=/usr/local/redis
⑦測試是否安裝成功:
進入:cd REDIS_HOME/bin
開啟redis:./redis-server
看到以下的介面表示安裝成功!!
補充:redis的後臺啟動
第一步:需要將redis解壓之後的原始碼包中的redis.conf檔案拷貝到bin目錄下
[[email protected] bin]# cp /xxx/redis-3.0.0/redis.conf ./
第二步:修改redis.conf檔案,將daemonize改為yes
第三步:使用命令後端啟動redis
[[email protected] bin]# ./redis-server redis.conf
第四步:檢視是否啟動成功
ps –aux|grep redis
4.redis的簡單使用
- 使用客戶端連線工具:[[email protected] bin]# ./redis-cli -h 127.0.0.1 -p 6379 (redis的自帶的連線工具)
-h:指定訪問的redis伺服器的ip地址(如果是單機版,需要和redis配置檔案中繫結的一致)
-p:指定訪問的redis伺服器的port埠
- 第二種則是使用Windows端的連線工具,小編這裡使用的是redis-desktop-manager (個人感覺挺好用)