將Redis-x64-3.2.100解壓,修改配置文件,通常不須要修改,直接使用默認,具體要修改可自行百度。node
打開命令行,定位到解壓目錄,執行命令:redis
redis-server.exe redis.windows.confwindows
有以下回顯表示配置正確:緩存
命令行執行如下命令可打開客戶端測試:安全
redis-cli.exe –h 127.0.0.1 –p 6379ruby
經過如下命令可部署爲WindowsService:服務器
redis-server --service-install redis.windows.confapp
經過如下命令可啓動/中止服務ide
redis-server --service-start工具
redis-server --service-stop
1.在配置文件中經過以下配置設置密碼:
requirepass 123456
2.客戶端鏈接後經過auth命令驗證受權:
3.在StackExchange.Redis鏈接字符串中設置密碼:
localhost:6379,password=123456
4.集羣設置密碼:
先經過redis-trib.rb工具構建集羣,集羣構建完成前不要配置密碼,
集羣構建完畢再經過config set + config rewrite命令逐個機器設置密碼
config set masterauth 123456
config set requirepass 123456
config rewrite
注意
1) 對集羣設置密碼,requirepass和masterauth都須要設置,不然發生主從切換時,就會遇到受權問題,能夠模擬並觀察日誌
2) 各個節點的密碼都必須一致,不然Redirected就會失敗
3) 若是設置密碼後須要使用redis-trib.rb的各類命令,須要到rbuy環境的gems裏找到並修改redis工具,路徑以下:
修改client.rb以下:
Cluster集羣腳本redis-trib.rb是經過Ruby語言編寫,須要安裝Ruby環境,具體步驟以下:
雙擊rubyinstaller-2.2.4-x64.exe安裝:
安裝驅動:
gem install --local path_to_gem/ redis-3.2.1.gem
部署redis集羣首先要分別部署多個redis服務,集羣節點少於三個沒法部署,因此主服務器最少三個,下面的示例方案部署6個服務,三個主,三個從,
首先建立六個配置文件,端口從7001到7006:
其中redis.7001.conf的配置是:
其餘的基本相似,分別將其中的7001改爲對應的端口號便可,
配置說明:
port 7001 #端口號
loglevel notice #日誌的記錄級別,notice是適合生產環境的
logfile "D:/Redis/Cluster/Logs/redis7001_log.txt" #指定log的保持路徑,默認是建立在Redis安裝目錄下,若是有子目錄須要手動建立,如此處的Logs目錄
syslog-enabled yes #是否使用系統日誌
syslog-ident redis6380 #在系統日誌的標識名
appendonly yes #數據的保存爲aof格式
appendfilename "appendonly.7001.aof" #數據保存文件
cluster-enabled yes #是否開啓集羣以及集羣配置
cluster-config-file nodes.7001.conf #這個文件會自動生成,下次啓動服務的時候回自動使用該集羣配置
cluster-node-timeout 15000
cluster-slave-validity-factor 10
cluster-migration-barrier 1
cluster-require-full-coverage yes
部署6個服務:
其中—service-name參數是服務名稱
啓動服務:
部署成功後查看服務:
部署集羣:
其中參數—replicas 是從庫個數。
輸入yes:
集羣成功,測試一下:
7001節點能夠鏈接到全部節點,其中7001-7003是主庫,7004-7006是從庫,至此部署已完成,打開客戶端測試:
客戶端須要參數-c ,表示集羣
有上圖可知,集羣會自動將緩存存放其中一個節點
key1鍵是在7002節點,如今把7002服務中止掉:
檢查集羣:
發現7002節點已失去聯繫,7004提高爲主庫。
從新打開redis-cli :
獲取key1,是從7004節點獲取,繼續增長鍵,直到分配到7004節點上,打開7002節點:
此時7002是從庫,從新啓動7004,
發現7002從新被提高爲主庫。
至此,部署完成,主從備份功能正常,故障轉移也正常。
注意,互爲主從庫的節點中,當主庫宕機的時候從庫會自動提高爲主庫,原主庫從新鏈接上爲置爲從庫,若是主從都宕機了,集羣就故障了,爲保障一套主從的安全,要多部署從庫。