redis集羣及相關的使用

 

 

從redis 3.0以後版本支持redis-cluster集羣,Redis-Cluster採用無中心結構,每一個節點保存數據和整個集羣狀態,每一個節點都和其餘全部節點鏈接。html

   一、全部的redis節點彼此互聯(PING-PONG機制),內部使用二進制協議優化傳輸速度和帶寬。
     二、節點的fail是經過集羣中超過半數的節點檢測失效時才生效。
     三、客戶端與redis節點直連,不須要中間proxy層.客戶端不須要鏈接集羣全部節點,鏈接集羣中任何一個可用節點便可。
     四、redis-cluster把全部的物理節點映射到[0-16383]slot上(不必定是平均分配),cluster 負責維護node<->slot<->value。
     五、Redis集羣預分好16384個桶,當須要在 Redis 集羣中放置一個 key-value 時,根據 CRC16(key) mod 16384的值,決定將一個key放到哪一個桶中。node

該段引用:https://blog.csdn.net/z15732621582/article/details/79121213git

 

windows下集羣的安裝:github

1:安裝redisredis

2:在一臺windows上安裝多個實例數據庫

複製C:\Program Files\Redis目錄下的redis.windows-service.conf文件修改成redis.8085.conf並修改其中內容:windows

# 本地數據庫名稱 dbfilename dump-6380.rdb ruby

# 日誌文件 logfile "Logs/server_log_6380.txt" app

# 日誌輸出 syslog-enabled yes ide

# 登陸認證密碼,三個實例可設置爲同樣的,推薦分別設置 requirepass 123456
 

註冊服務

redis-server.exe --service-install redis.8085.conf --service-name redis8085

啓動該服務

redis-server.exe --service-start --service-name redis6380

cmd執行命令測試登陸

redis-cli.exe -h 127.0.0.1 -p 6380

刪除實例服務則執行

redis-server.exe --service-uninstall --service-name redis6380

3:配置ruby相關支持

redis的集羣使用  ruby腳本編寫,因此係統須要有 Ruby 環境 ,下載地址 http://dl.bintray.com/oneclick/rubyinstaller/:rubyinstaller-2.3.3-x64.exe

安裝時3個選項都勾選

安裝Redis的Ruby驅動redis-xxxx.gem

下載地址 https://rubygems.org/pages/download, 下載後解壓,當前目錄切換到解壓目錄中,如 D:\Program Files\redis\rubygems-2.6.12 而後在命令行執行  ruby setup.rb。

而後GEM 安裝 Redis :切換到redis安裝目錄,須要在命令行中,執行 gem install redis

安裝集羣腳本redis-trib

下載地址  https://raw.githubusercontent.com/antirez/redis/unstable/src/redis-trib.rb

 建立Redis集羣 

  • 複製C:\Program Files\Redis目錄下的redis.windows-service.conf文件,複製多個修改位redis.8083.conf、redis.8084.conf、redis.8085.conf
  • 修改裏面內容以下:
  • port 6380       #端口號
    loglevel notice    #日誌的記錄級別,notice是適合生產環境的
    logfile "Logs/redis6380_log.txt"      #指定log的保持路徑,默認是建立在Redis安裝目錄下,若是有子目錄須要手動建立,如此處的Logs目錄
    syslog-enabled yes                         #是否使用系統日誌
    syslog-ident redis6380                   #在系統日誌的標識名
    appendonly yes                              #數據的保存爲aof格式
    appendfilename "appendonly.6380.aof"    #數據保存文件
    cluster-enabled yes                                    #是否開啓集羣
    cluster-config-file nodes.6380.conf
    cluster-node-timeout 15000
    cluster-slave-validity-factor 10
    cluster-migration-barrier 1
    cluster-require-full-coverage yes
  • 保存以後,建立服務,執行代碼:
  • redis-server.exe --service-install redis.8083.conf --service-name redis8083
    redis-server.exe --service-install redis.8084.conf --service-name redis8084
    redis-server.exe --service-install redis.8085.conf --service-name redis8085
  • 執行集羣操做:
  • redis-trib.rb create --replicas 0 127.0.0.1:8083 127.0.0.1:8084 127.0.0.1:8085
  •  檢驗是否真的建立成功,輸入如下命令:redis-trib.rb check 127.0.0.1:8083
  • 建立完成

 

操做集羣

  1.  使用Redis客戶端Redis-cli.exe來查看數據記錄數,以及集羣相關信息:
  2. C:/Program Files/Redis/redis-cli.exe -c -p 8083
  3. dbsize   //查看記錄總數
  4. cluster info   //能夠從客戶端的查看集羣的信息

 

 

 

 

 

參考博客:

https://www.cnblogs.com/tommy-huang/p/6240083.html

相關文章
相關標籤/搜索