網站首頁 編程語言 正文
Redis集群:
如果部署到多臺電腦,就跟普通的集群一樣;因為Redis是單線程處理的,多核CPU也只能使用一個核,
所以部署在同一臺電腦上,通過運行多個Redis實例組成集群,然后能提高CPU的利用率。
在Windows系統下搭建Redis集群:
需要4個部件:
Redis、Ruby語言運行環境、Redis的Ruby驅動redis-xxxx.gem、創建Redis集群的工具redis-trib.rb
安裝Redis,并運行3個實例(Redis集群需要至少3個以上節點,低于3個無法創建);
使用redis-trib.rb工具來創建Redis集群,由于該文件是用ruby語言寫的,所以需要安裝Ruby開發環境,以及驅動redis-xxxx.gem
1.下載并安裝Redis
其GitHub路徑如下:https://github.com/MSOpenTech/redis/releases/
Redis提供msi和zip格式的下載文件,這里下載zip格式 3.0.504版本
將下載到的Redis-x64-3.0.504.zip解壓即可,為了方便使用,建議放在盤符根目錄下,并修改目錄名為Redis,如:C:\Redis 或者D:\Redis
通過配置文件來啟動3個不同的Redis實例,由于Redis默認端口為6379,所以這里使用了6380、6381、6382來運行3個Redis實例。
注意:為了避免不必要的錯誤,配置文件盡量保存為utf8格式,并且不要包含注釋;
配置文件中以下兩種保存日志的方式(保存在文件中、保存到System Log中)請根據需求選擇其中一種即可:
loglevel notice #日志的記錄級別,notice是適合生產環境的 logfile "D:/Redis/Logs/redis6380_log.txt" #指定log的保持路徑,默認是創建在Redis安裝目錄下,如果有子目錄需要手動創建,如此處的Logs目錄
syslog-enabled yes #是否使用系統日志 syslog-ident redis6380 #在系統日志的標識名
這里使用了保存在文件中的方式,所以先在Redis目錄D:/Redis下新建Logs文件夾[/code]
redis.6380.conf 內容如下:
port 6380 loglevel notice logfile "D:/Redis/Logs/redis6380_log.txt" appendonly yes 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.6381.conf 內容如下:
port 6381 loglevel notice logfile "D:/Redis/Logs/redis6381_log.txt" appendonly yes appendfilename "appendonly.6381.aof" cluster-enabled yes cluster-config-file nodes.6381.conf cluster-node-timeout 15000 cluster-slave-validity-factor 10 cluster-migration-barrier 1 cluster-require-full-coverage yes
redis.6382.conf 內容如下:
port 6382 loglevel notice logfile "D:/Redis/Logs/redis6382_log.txt" appendonly yes appendfilename "appendonly.6382.aof" cluster-enabled yes cluster-config-file nodes.6382.conf cluster-node-timeout 15000 cluster-slave-validity-factor 10 cluster-migration-barrier 1 cluster-require-full-coverage yes
配置內容的解釋如下:
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目錄下,并使用這些配置文件安裝3個redis服務,命令如下:
注意:redis.6380.conf等配置文件最好使用完整路徑,避免重啟Redis集群出現問題,博主的安裝目錄為D:/Redis
D:/Redis/redis-server.exe --service-install D:/Redis/redis.6380.conf --service-name redis6380 D:/Redis/redis-server.exe --service-install D:/Redis/redis.6381.conf --service-name redis6381 D:/Redis/redis-server.exe --service-install D:/Redis/redis.6382.conf --service-name redis6382
啟動這3個服務,命令如下:
D:/Redis/redis-server.exe --service-start --service-name Redis6380 D:/Redis/redis-server.exe --service-start --service-name Redis6381 D:/Redis/redis-server.exe --service-start --service-name Redis6382
執行結果:
2.下載并安裝ruby
2.1. 下載路徑如下:
http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.2.4-x64.exe
下載后,雙擊安裝即可,同樣,為了操作方便,也是建議安裝在盤符根目錄下,如: C:\Ruby22-x64 ,安裝時這里選中后兩個選項,
意思是將ruby添加到系統的環境變量中,在cmd命令中能直接使用ruby的命令
2.2.下載ruby環境下Redis的驅動,考慮到兼容性,這里下載的是3.2.2版本
https://rubygems.org/gems/redis/versions/3.2.2
注意:下載在頁面右下角相關連接一項中
安裝該驅動,命令如下:
gem install --local path_to_gem/filename.gem
實際操作如下:
2.3.下載Redis官方提供的創建Redis集群的ruby腳本文件redis-trib.rb,路徑如下:
https://raw.githubusercontent.com/MSOpenTech/redis/3.0/src/redis-trib.rb
打開該鏈接如果沒有下載,而是打開一個頁面,那么將該頁面保存為redis-trib.rb
建議保存到Redis的目錄下。
注意:因為redis-trib.rb是ruby代碼,必須用ruby來打開,若redis-trib.rb無法識別,需要手動選擇該文件的打開方式:
**選擇ruby為的打開方式后,redis-trib.rb的logo都會發生改變,如下圖:
3.創建Redis集群
CMD下切換到Redis目錄,使用redis-trib.rb來創建Redis集群:
redis-trib.rb create --replicas 0 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382
執行結果:
當出現提示時,需要手動輸入yes,輸入后,當出現以下內容,說明已經創建了Redis集群
檢驗是否真的創建成功,輸入以下命令:
redis-trib.rb check 127.0.0.1:6380
出現以下信息,說明創建的Redis集群是沒問題的
使用Redis客戶端Redis-cli.exe來查看數據記錄數,以及集群相關信息
D:/Redis/redis-cli.exe -c -p 6380
-c 表示 cluster
-p 表示 port 端口號
輸入dbsize查詢 記錄總數
dbsize
或者一次輸入完整命令:
D:/Redis/redis-cli.exe -c -p 6380 dbsize
結果如下:
輸入cluster info可以從客戶端的查看集群的信息:
cluster info
結果如下:
原文鏈接:https://www.cnblogs.com/tommy-huang/p/6240083.html
相關推薦
- 2023-12-16 SpringBoot之自定義Starter
- 2022-03-14 怎么去掉Starting new HTTP connection 的提示
- 2022-07-19 Linux 性能監測命令
- 2024-02-29 UNI-APP頁面通訊、組件子向父、父向子傳遞數據
- 2022-10-31 Kotlin協程開發之Flow的融合與Channel容量及溢出策略介紹_Android
- 2022-04-19 idea如何解決jar包沖突
- 2022-04-20 Python設計模式中的結構型適配器模式_python
- 2023-01-10 Go語言defer與return執行的先后順序詳解_Golang
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支