1. 程式人生 > >網際網路技術學習——28redis介紹及redis在linux系統下的安裝

網際網路技術學習——28redis介紹及redis在linux系統下的安裝

NOSQL簡介

NoSQL,泛指非關係型的資料庫,NoSQL資料庫主要分為四大類。

  • 鍵值儲存資料庫:主要使用雜湊表,這個表中有一個特定的鍵和一個指標指向特定的資料。如Redis,Voldemort,Oracle BDB
  • 類儲存資料庫:通常用來應對分散式儲存的海量資料。鍵仍然存在,但是他們的特點是指向了多個列,如HBase,Rlak
  • 文件型資料庫:資料模型是版本化的文件,半結構化的文件已特定的格式儲存,比如JSON.文件型資料庫可以看作是鍵值資料庫的升級版,允許之間巢狀鍵值。而且文件型資料庫比鍵值資料庫的查詢效率更高。如:CouchDB,MongoDB
  • 圖形資料庫:圖形結構的資料庫同其他行列以及剛性結構的SQL資料庫不同,她是使用靈活的圖形模型,並且能夠擴充套件到多個伺服器上。NoSQL資料庫沒有標準的查詢語言(SQL),因此進行資料庫查詢需要制定資料模型。許多NoSQL資料庫都有REST格式的資料介面或者查詢API,如Neo4J,InfoGrid,Infinite Graph

非關係型資料庫的特點

  1. 資料模型比較簡單;
  2. 需要靈活性更強的系統;
  3. 對資料庫的效能 要求較高;
  4. 不需要高度的資料一致性;
  5. 對於給定的key,比較容易映射覆雜值的環境

  redis是以key-value store儲存的,data srucutrue service資料結構伺服器。鍵可以包含字串String,雜湊hash、連結串列List、集合Set、有序集合ZSet。這些資料集合都支援push/pop、add/remove以及取交集和更豐富的操作。redis支援各種不同方式排序,為了保證效率,資料都快取在記憶體中,它可以週期性的把更新的資料寫入磁碟或者把修改操作寫入追加到檔案裡。

  Redis提供的可靠性解決方案有兩種。RDB,定期將資料刷入磁碟;AOF,將操作資訊記錄到日誌裡,AOF實時性比較高

  Redis面向分散式的解決方案有三種:1.主從模式;2.哨兵模式;3.叢集模式。

  主從模式:有一個主節點來寫,一個或一個以上的從節點來讀,這三個節點中的資料都是一樣的。

  哨兵模式:哨兵模式就是在主從模式上加一個哨兵節點,比如主節點掛了,那麼哨兵節點就在從節點中選取一個作為主節點

  叢集模式:叢集模式支援多住多從,也就是有多個哨兵模式的節點組。叢集模式對加主節點和減主節點的支援都很好

Redis和memorycache比較:memorycache可並行,redis是序列;redis的效能不是單點技能體現出來的。m的單點效能可能會高,而redis強調的是多例項。

 

Redis在linux系統下的環境搭建

下載地址http://redis.io/download

 

  1. 首先需要安裝gcc,把下載好的redis-3.0.0-rc2.tar.gz 放到 /usr/local 資料夾下
  2. 進行解壓 tar -zxvf redis-3.0.0-rc.tar.gz
  3. 進入到redis-3.0.0目錄下,進行編譯 make
  4. 進入到src下繼續安裝 make install ,驗證(檢視src下的目錄,有redis-server、redis-cil)
  5. 建立兩個問價夾存放redis命令和配置檔案
    mkdir -p /usr/local/redis/etc
    mkdir -p /usr/local/redis/bin
  6. 把Redis-3.0.0下的redis.conf 移動到 /usr/local/redis/etc下
    cp redis.conf /usr/local/redis/etc/
  7. 把redis-3.0.0/src 裡的mkreleasehdr.sh、redis-benchmark、redis-check-aof、redis-check-dump、redis-cli、redis-server檔案移動到bin下,命令:
        mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin
  8. 啟動時並制定配置檔案:./redis-server /usr/local/redis/etc/redis.conf(注意要使用後臺啟動)
  9. 修改redis.conf裡的daemonize 改為yes
  10. 驗證啟動是否成功
    ps -ef|grep redis 檢視是否有redis服務或者檢視介面:metstat -tunpl | grep 6379
    進入redis客戶端 bin/redis-cli 退出客戶端quit
    退出redis服務有以下幾種方式:
    pkill redis-server
    kill程序號
    /user/local/redis/bin/redis-cli shutdown
  11. 進入客戶端(在/usr/local/redis/bin 資料夾下).redis-cli