redis學習之windows搭建

最近面試才發現自己忽視和Redis的重要性,所以從頭來開始好好學習一下redis。

首先我們需要下載:下載地址

下載解壓後我們會得到這樣一個結構:

接下來,啓動它:   redis-server.exe

這個時候我們已經吧服務端啓動了。(此時爲前端啓動)

然後我們再把客戶端啓動:  redis-cli.exe -h 127.0.0.1 -p 6379

注意不要把原來的服務端關閉哦,端口號也要注意需要統一。

這個時候就代表我們已經啓動成功了。

爲了測試我們的redis是否可用,我們可以設置鍵值對來測試。

實驗結果正常,完美收工


接下來讓我們進行windows下集羣的搭建

我們使用redis-trib.rb工具來創建Redis集羣,由於該文件是用ruby語言寫的,所以需要安裝Ruby開發環境,以及驅動redis-xxxx.gem。

首先,我們需要安裝ruby環境,然後安裝redis驅動     gem install redis

因爲我的電腦已經安裝過了ruby,所以忽略了ruby的安裝。

然後我們先把我們之前下好的redis文件夾複製六份(第一個文件夾是原生的,沒變過,用作單機,剩下的六個纔是集羣使用的)

修改每個目錄下面的  redis.windows.conf  文件

我們可以按照我們的文件夾後面的名字以此修改爲7000 7001 7002  這裏我們就已經修改了我們每個redis的端口號。

同時我們需要修改當前文件以下配置:

cluster-enabled yes

cluster-config-file nodes-7000.conf

cluster-node-timeout 15000

appendonly yes

cluster-enabled  這個配置代表這是個集羣節點

cluster-config-file  這個是節點配置文件   端口號隨着當前redis不同而不同,且會隨着redis啓動自動創建

appendonly   開啓持久化

等到這些修改了好了之後,我們創建一個腳本來方便我們啓動redis。(端口記得更換哦)

title redis-7001
redis-server.exe redis.windows.conf

然後依次點擊我們的redis的啓動腳本

 

啓動好了之後我們需要下載我們的工具redis-trib.rb。下載地址

然後輸入:  ruby redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005

回車會提示如下:

我們輸入  yes,會提示:

先不管,我們測試一下,我們先打開一個節點的客戶端:

redis-cli.exe -h 127.0.0.1 -p 7000 -c(h自然是主機號,p是端口號,c連接集羣結點時使用,此選項可防止moved和ask異常。)

進行set get 發現確實兩個節點下的數據已經共同了。說明已經搭建成功。

同時我們也可以打開輸入   cluster nodes  查看主從節點

附言:

1、後端啓動:

對於這種服務端都需要打開一個窗口,也就是前端啓動,所以我們可以設置爲後端啓動

1. 在Redis的安裝目錄  進入 DOS窗口

2. 輸入:redis-server --service-install redis.windows.conf --loglevel verbose ( 安裝redis服務 )

3.  輸入:redis-server --service-start ( 啓動服務 )

4. 輸入:redis-server --service-stop (停止服務)

或者我們也可以把內容寫在腳本里面,分別命名爲start和stop。

2、關閉與重新啓動集羣

關閉集羣:將所有redis服務一個一個關閉即可。

重啓集羣:將所有redis服務一個一個啓動即可。so easy

3、添加與刪除節點

添加節點

ruby redis-trib.rb add-node 127.0.0.1:7006 127.0.0.1:7000 向集羣添加主節點

ruby redis-trib.rb add-node --slave 127.0.0.1:7006 127.0.0.1:7000 向集羣中添加從節點,它會隨機分配給任意一個主節點

第一個參數:新添加節點的地址以及端口127.0.0.1:7006

第二個參數:現有集羣中任意一個服務端地址以及端口127.0.0.1:7000

ruby redis-trib.rb add-node --slave --master-id 3c3a0c74aae0b56170ccb03a76b60cfe7dc1912e 127.0.0.1:7006 127.0.0.1:7000          向集羣中定向的主節點添加從節點

--master-id用來指定新節點的master節點。如果不設置該參數,則會隨機爲節點選擇master節點。

重新分槽

新添加的主節點不含任何槽需要給他分配一些槽。參數爲集羣中任意舊地址

ruby redis-trib.rb reshard 127.0.0.1:7000 

接下來會讓你輸入分配的槽數,範圍在1-16384,我輸入4000.

然後問我他的節點是什麼,輸入節點id

然後會詢問你從哪個節點分出這些槽數,我選擇 all,所有節點中。

最後會詢問你是否執行這個分槽計劃,輸入yes開始執行計劃。

移除節點

使用del-node命令移除節點。

如果是主節點,需要先將槽轉移到其他節點上面。如果是從節點可無需此步驟。

轉移和分配指令基本一致,最重要的是在Source node的時候,選擇的是 all  還是  done

ruby redis-trib.rb reshard 127.0.0.1:7000 

在這裏我們需要輸入我們要轉移到數量,因爲我們是轉移走,所以輸入他所擁有的槽數

然後輸入我們要轉移給那個節點,輸入接收的節點id

然後再輸入移除的節點id,在輸入done

等到回車後,我們在輸入yes,就可以等待刪除節點了。

等到我們把槽轉移走了之後,就可以刪除節點了

ruby redis-trib.rb del-node 127.0.0.1:7006 211901d93f55093758fdd45cd7d0d87c4ca89696

第一個參數:任意集羣中現有的地址  127.0.0.1:7006

第二個參數:你想移除的節點id 211901d93f55093758fdd45cd7d0d87c4ca89696(該id可以在想要移除的節點nodes.conf文件中找到,也可以在查詢節點的時候發現)

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