Centos7下安裝Redis實戰(單機版以及集羣)

1、背景

  因項目須要,要引入redis作緩存,就在centos7下親自安裝了一遍redis,恰好趁着這個機會就來把redis的概念以及單機版和集羣版redis安裝步驟記錄下來,在此和你們一塊兒分享。node

2、Redis介紹

1.什麼是Redis?linux

  Redis是用C語言開發的一個開源的高性能鍵值對(key-value)數據庫。它經過提供多種鍵值數據類型來適應不一樣場景下的存儲需求,目前爲止Redis支持的鍵值數據類型有:字符串類型、散列類型、列表類型、集合類型、有序集合類型。c++

2.Redis的應用場景:   redis

  • 緩存(數據查詢、短鏈接、新聞內容、商品內容等等)(最多使用)算法

  • 分佈式集羣架構中的session分離數據庫

  • 聊天室的在線好友列表centos

  • 任務隊列;(秒殺、搶購、12306等等)緩存

  • 應用排行榜ruby

  • 網站訪問統計服務器

  • 數據過時處理(能夠精確到毫秒)

3、安裝前準備

1.由於redis是C語言開發的,因此咱們建議在linux上運行,故本文介紹在centos7上安裝redis.

2.安裝redis須要先將官網下載的源碼進行編譯,編譯依賴gcc環境,若是沒有gcc環境,須要安裝gcc,命令以下:

  yum -y install gcc-c++

4、安裝單機版redis

1.從官方網站下載對應的redis源碼包,命令以下:

  wget http://download.redis.io/releases/redis-3.0.0.tar.gz

2.對源碼文件的壓縮包進行解壓縮,命令以下:

  tar -zxvf redis-3.0.0.tar.gz

3.進入到解壓後的源碼文件夾,並對源碼進行編譯,命令以下:    

  cd redis-3.0.0.tar.gz && make

4.安裝編譯完成後的文件(prefix參數用來指定redis的安裝位置,通常建議安裝在/usr/local/redis下)

  make install PREFIX=/usr/local/redis

5.把/usr/local/redis/bin文件夾下全部文件移動到/usr/local/redis文件夾下,並刪除/usr/local/redis/bin文件夾

  mv /usr/local/redis/bin/* /usr/local/redis/ && rm -rf /usr/local/redis/bin

6.安裝完成,啓動單機版redis

  1).控制檯直接啓動:cd /usr/local/redis && ./redis-server

  2).後臺啓動:

    I.複製源碼包下的redis.conf到redis的安裝目錄.

    II.修改redis.conf,將其中daemonize no項修改daemonize yes

    III.後臺啓動:cd /usr/local/redis && ./redis-server redis.conf

7.啓動並測試客戶端

  redis-cli -p 端口(默認6379) -h 主機ip(默認localhost即127.0.0.1)

5、安裝redis集羣

  1.redis-cluster集羣架構圖

  Centos7下安裝Redis實戰(單機版以及集羣)

架構細節:

(1)全部的redis節點彼此互聯(PING-PONG機制),內部使用二進制協議優化傳輸速度和帶寬.

(2)節點的fail是經過集羣中超過半數的節點檢測失效時才生效.

(3)客戶端與redis節點直連,不須要中間proxy層.客戶端不須要鏈接集羣全部節點,鏈接集羣中任何一個可用節點便可

(4)redis-cluster把全部的物理節點映射到[0-16383]slot上,cluster 負責維護node<->slot<->value

  Redis 集羣中內置了16384 個哈希槽,當須要在 Redis 集羣中放置一個key-value 時,redis 先對 key 使用 crc16 算法算出一個結果,而後把結果對 16384 求餘數,這樣每一個 key 都會對應一個編號在 0-16383 之間的哈希槽,redis 會根據節點數量大體均等的將哈希槽映射到不一樣的節點。

  2.建立集羣:(說明:因爲機器有限,咱們先使用一臺linux服務器來建立6個redis實例從而建立一個僞集羣)

  第一步:在/usr/local文件夾下建立redis-cluster文件夾做爲redis集羣根目錄

    cd /usr/local && mkdir redis-cluster

  第二步:在redis-cluster文件夾下安裝6個redis實例,安裝步驟同單機版安裝步驟。

  第三步:分別編輯每一個實例的redis.conf文件指定端口爲7001到7006,並打開每個配置文件中cluster-enable yes前面的註釋(即去掉'#'號)。

  第四步:拷貝redis源碼文件夾下的名爲redis-trib.rb的ruby腳本文件到redis-cluster文件夾下

    cp redis-trib.rb /usr/local/redis-cluster/

  第五步:執行該ruby腳本前,在系統中安裝ruby環境

    1).yum -y install ruby

    2).yum -y install rubygems

  第六步:安裝執行ruby腳本redis-trib.rb執行所依賴的gem包:redis-3.0.0.gem

    gem install redis-3.0.0.gem

  第七步:啓動全部的redis實例

    ./redis-server redis.conf

  第八步:使用redis-trib.rb建立集羣(若是是在不一樣的機器上安裝實例,只須要在任意一臺機器上執行如下命令便可)

    ./redis-trib.rb create --replicas 1 192.168.25.153:7001 192.168.25.153:7002 192.168.25.153:7003 192.168.25.153:7004 192.168.25.153:7005 192.168.25.153:7006

  出現如下界面,證實redis集羣安裝成功。

Centos7下安裝Redis實戰(單機版以及集羣)

  第九步:進入任意一臺實例安裝位置,可使用如下命令來進行鏈接集羣:

  ./redis-cli -p 7001 -c(-c說明是鏈接集羣,單機的時候不須要加該參數)

  到此,咱們就完成了redis的單機 以及集羣版的安裝和測試。

3、總結

  經過此次redis安裝的經歷,讓我感受到遠處看安裝集羣什麼的很困難,其實本身操做起來,感受沒有什麼困難的,只要記住步驟就行了。因此不能給本身設限,什麼事情都要保持一顆想要嘗試的心。

相關文章
相關標籤/搜索