亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Redis 哨兵高模式搭建及Java代碼配置

 更新時間:2020年12月17日 09:44:45   作者:漣漪海洋  
這篇文章主要介紹了Redis 哨兵高模式搭建及Java代碼配置,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

Redis 的下載和安裝及遇到問題的解決 

準備配置文件

# 配置文件進行了精簡,完整配置可自行和官方提供的完整conf文件進行對照。端口號自行對應修改
# 后臺啟動的意思
daemonize yes 
 
# 端口號
port 6380
 
# IP綁定,redis不建議對公網(wǎng)開放,直接綁定0.0.0.0沒毛病
bind 0.0.0.0
 
# redis數(shù)據(jù)文件存放的目錄
dir /usr/local/redis/data
 
# 開啟AOF
appendonly yes
 
# 開啟集群
cluster-enabled yes
 
# 會自動生成在上面配置的dir目錄下
cluster-config-file nodes-6381.conf 
cluster-node-timeout 5000
 
# 這個文件會自動生成
pidfile /var/run/redis_6381.pid 

分別準備三個server的配置文件

[root@hadoop-master conf]# ll |grep redis | grep -v 6379
-rw-r--r-- 1 root root  489 7月 28 14:49 redis-6380.conf
-rw-r--r-- 1 root root  571 7月 28 18:09 redis-6381.conf
-rw-r--r-- 1 root root  600 7月 28 18:09 redis-6382.conf

啟動三個server 

 #使用 redis-server 命令,并指定配置文件
 /mnt/redis/bin/redis-server /mnt/redis/conf/redis-6380.conf
 
 /mnt/redis/bin/redis-server /mnt/redis/conf/redis-6381.conf
 
 /mnt/redis/bin/redis-server /mnt/redis/conf/redis-6382.conf

配置主從

#通過 redis-cli客戶端命令將指定端口下的服務作為指定ip端口下的從屬節(jié)點
/mnt/redis/bin/redis-cli -p 6381 192.168.16.40 6380
/mnt/redis/bin/redis-cli -p 6382 192.168.16.40 6380
#此時6380為主節(jié)點其他節(jié)點為從屬節(jié)點

檢查集群是否已經(jīng)就緒

# 此命令可查看redis集群中的 server/Clients/memory/persistence/stats
#             replication/cpu/modules/cluster/keyspace等信息
/mnt/redis/bin/redis-cli -p 6380 info 
 
# 通過指定replication獲取集群信息
/mnt/redis/bin/redis-cli -p 6380 info replication

redis-cli info 命令各數(shù)值含義對照 

# Server
redis_version:3.2.0 #redis 版本
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:85def9ed04ebeee4
redis_mode:cluster #運行模式(standalone,cluster)
os:Linux 3.0.13-0.27-default x86_64 #運行系統(tǒng)內(nèi)核版本
arch_bits:64 #字長
multiplexing_api:epoll #Redis使用的事件處理機制
gcc_version:4.3.4 #編譯Redis時所使用的GCC版本
process_id:26327 #Redis進程PID
run_id:e833bf79e98daa5b5917c510b4d9f056cfc5059c #Redis服務器的編號(用于集群)
tcp_port:7001 #監(jiān)聽的端口
uptime_in_seconds:587882 #已運行秒數(shù)
uptime_in_days:6 #已運行天數(shù)
hz:10 #用于執(zhí)行后臺任務的函數(shù)被調(diào)用的頻率
lru_clock:10570417 #用于LRU管理的計時器,單位為分鐘
executable:/home/rediscluster/7001/redis/./bin/redis-server #bin文件位置
config_file:/home/rediscluster/7001/redis/./config/redis.conf #配置文件位置
 
# Clients
connected_clients:1 #連接的客戶端數(shù)
client_longest_output_list:0 #當前客戶端連接中最長的輸出列表
client_biggest_input_buf:0 #當前客戶端連接中最大的輸入緩存
blocked_clients:0 #阻塞的客戶端數(shù)
 
# Memory
used_memory:2421816 #消耗的內(nèi)存
used_memory_human:2.31M
used_memory_rss:3973120 #操作系統(tǒng)分配給Redis的內(nèi)存
used_memory_rss_human:3.79M
used_memory_peak:2421816 #內(nèi)存消耗的峰值
used_memory_peak_human:2.31M
total_system_memory:8250241024 #系統(tǒng)總內(nèi)存
total_system_memory_human:7.68G
used_memory_lua:37888 #Lua腳本消耗的內(nèi)存
used_memory_lua_human:37.00K
maxmemory:0 #內(nèi)存使用限制
maxmemory_human:0B
maxmemory_policy:noeviction #超出內(nèi)存限制時的行為
mem_fragmentation_ratio:1.64 #內(nèi)存碎片率(=used_memory_rss/used_memory)
mem_allocator:jemalloc-4.0.3 #內(nèi)存分配器
 
# Persistence
loading:0 #是否正在載入持久化文件
rdb_changes_since_last_save:0 #上次持久化以來修改的鍵值數(shù)
rdb_bgsave_in_progress:0 #是否正在后臺保存RDB文件
rdb_last_save_time:1469670746 #上次RDB持久化的時間戳
rdb_last_bgsave_status:ok #上次RDB持久化的結(jié)果
rdb_last_bgsave_time_sec:0 #上次創(chuàng)建RDB文件消耗的秒數(shù)
rdb_current_bgsave_time_sec:-1 #如果正在創(chuàng)建RDB文件,記錄已經(jīng)消耗了多少時間
aof_enabled:1 #是否啟用AOF持久化
aof_rewrite_in_progress:0 #是否正在重寫AOF文件
aof_rewrite_scheduled:0 #是否將要重寫AOF文件
aof_last_rewrite_time_sec:-1 #上次AOF重寫消耗的時間
aof_current_rewrite_time_sec:-1 #當前AOF重寫已消耗的時間
aof_last_bgrewrite_status:ok #上次重寫AOF文件的結(jié)果
aof_last_write_status:ok #上次寫入AOF文件的結(jié)果
aof_current_size:54 #當前AOF文件的大小
aof_base_size:0 #上一個AOF文件的大小
aof_pending_rewrite:0 #是否有AOF重寫操作在等待RDB文件的創(chuàng)建
aof_buffer_length:0 #AOF寫入緩沖區(qū)大小
aof_rewrite_buffer_length:0 #AOF重寫緩沖區(qū)大小
aof_pending_bio_fsync:0 #正在I/O隊列中等待的fsync()的數(shù)量
aof_delayed_fsync:0 #被延遲執(zhí)行的fsync()的數(shù)量
 
# Stats
total_connections_received:9 #服務器已接受的連接請求數(shù)
total_commands_processed:586729 #服務器已經(jīng)執(zhí)行的命令數(shù)量
instantaneous_ops_per_sec:1 #當前每秒執(zhí)行的命令數(shù)量
total_net_input_bytes:22855989 #接受的數(shù)據(jù)包總大小
total_net_output_bytes:849760 #發(fā)送的數(shù)據(jù)包總大小
instantaneous_input_kbps:0.05 #當前下行速率
instantaneous_output_kbps:0.01 #當前上行速率
rejected_connections:0 #被拒絕的連接請求數(shù)
sync_full:1 #主從同步狀態(tài)
sync_partial_ok:0
sync_partial_err:0
expired_keys:0 #過期的鍵數(shù)
evicted_keys:0 #因內(nèi)存達到上限被剔除的鍵數(shù)
keyspace_hits:0 #命中key的次數(shù)
keyspace_misses:0 #未命中的次數(shù)
pubsub_channels:0 #當前被訂閱的頻道和模式數(shù)
pubsub_patterns:0
latest_fork_usec:640 #最后一次fork()消耗的毫秒數(shù)
migrate_cached_sockets:0 #為節(jié)點遷移緩存的TCP連接數(shù)
 
# Replication
role:master #主節(jié)點還是從節(jié)點
connected_slaves:1 #已連接的從節(jié)點數(shù)
slave0:ip=127.0.0.1,port=7004,state=online,offset=821435,lag=1 #從節(jié)點信息 ip 端口 數(shù)據(jù)新度等
master_repl_offset:821435 #主節(jié)點數(shù)據(jù)新度
repl_backlog_active:1 #是否為主從同步啟用積壓空間
repl_backlog_size:1048576 #積壓空間大小
repl_backlog_first_byte_offset:2 #積壓空間開頭的數(shù)據(jù)新度
repl_backlog_histlen:821434 #積壓空間當前數(shù)據(jù)量
 
# CPU
used_cpu_sys:255.39 #核心態(tài)CPU時間
used_cpu_user:257.42 #用戶態(tài)CPU時間
used_cpu_sys_children:0.00 #子進程核心態(tài)CPU時間
used_cpu_user_children:0.00 #子進程用戶態(tài)CPU時間
 
# Cluster
cluster_enabled:1 #是否啟用集群
 
# Keyspace
db0:keys=1,expires=0,avg_ttl=0 #各數(shù)據(jù)庫的鍵數(shù)、過期鍵數(shù)、數(shù)據(jù)庫中鍵的平均過期時間戳估測值

準備哨兵配置文件(3個節(jié)點)

# 配置文件:sentinel.conf,在sentinel運行期間是會被動態(tài)修改的
# sentinel如果重啟時,根據(jù)這個配置來恢復其之前所監(jiān)控的redis集群的狀態(tài)
# 綁定IP
bind 0.0.0.0
 
# 后臺運行
daemonize yes
 
# 默認yes,沒指定密碼或者指定IP的情況下,外網(wǎng)無法訪問
protected-mode no
 
# 哨兵的端口,客戶端通過這個端口來發(fā)現(xiàn)redis
port 26380
 
# 哨兵自己的IP,手動設(shè)定也可自動發(fā)現(xiàn),用于與其他哨兵通信
# sentinel announce-ip
 
# 臨時文件夾
dir "/tmp"
 
# 日志
logfile "/mnt/redis/logs/sentinel-26380.log"
 
# sentinel監(jiān)控的master的名字叫做mymaster,初始地址為 192.168.16.40 6380,2代表兩個及以上哨兵認定為死亡,才認為是真的死亡
sentinel myid fa62676c970da6800e30b28b9cc732e2cee85952
 
# 發(fā)送心跳PING來確認master是否存活
# 如果master在“一定時間范圍”內(nèi)不回應PONG 或者是回復了一個錯誤消息,那么這個sentinel會主觀地(單方面地)認為這個master已經(jīng)不可用了
sentinel deny-scripts-reconfig yes
 
# 如果在該時間(ms)內(nèi)未能完成failover操作,則認為該failover失敗
sentinel monitor mymaster 192.168.16.40 6381 2
 
# 指定了在執(zhí)行故障轉(zhuǎn)移時,最多可以有多少個從Redis實例在同步新的主實例,在從Redis實例較多的情況下這個數(shù)字越小,同步的時間越長,完成故障轉(zhuǎn)移所需的時間就越長
sentinel down-after-milliseconds mymaster 1000

增加三個配置文件

[root@hadoop-master conf]# ll | grep sentinel
-rw-r--r-- 1 root root 1989 7月 28 18:09 sentinel-26380.conf
-rw-r--r-- 1 root root 1989 7月 28 18:09 sentinel-26381.conf
-rw-r--r-- 1 root root 1989 7月 28 18:09 sentinel-26382.conf

啟動哨兵節(jié)點

 # 可使用redis-server + sentinel參數(shù)啟動
 /mnt/redis/bin/redis-server /mnt/redis/conf/sentinel-26380.conf --sentinel
 
 /mnt/redis/bin/redis-server /mnt/redis/conf/sentinel-26381.conf --sentinel
 
 /mnt/redis/bin/redis-server /mnt/redis/conf/sentinel-26382.conf --sentinel
 
 
# 直接使用redis-sentinel啟動
 /mnt/redis/bin/redis-sentinel /mnt/redis/conf/sentinel-26380.conf
 
 /mnt/redis/bin/redis-sentinel /mnt/redis/conf/sentinel-26381.conf
 
 /mnt/redis/bin/redis-sentinel /mnt/redis/conf/sentinel-26382.conf

# 停掉master,主從切換過程

啟動哨兵(客戶端通過哨兵發(fā)現(xiàn)Redis實例信息)

哨兵通過連接master發(fā)現(xiàn)主從集群內(nèi)的所有實例信息

哨兵監(jiān)控redis實例的健康狀況

哨兵一旦發(fā)現(xiàn)master不能正常提供服務,則通知給其他哨兵

當一定數(shù)量的哨兵都認為master掛了

選舉一個哨兵作為故障轉(zhuǎn)移的執(zhí)行者

執(zhí)行者在slave中選取一個作為新的master

將其他slave重新設(shè)定為新master的從屬 

# 因為6380的端口是主節(jié)點
[root@hadoop-master bin]# ps -ef | grep redis| grep 6380
root   30325   1 0 19:09 ?    00:00:00 /mnt/redis/bin/redis-server 0.0.0.0:6380
root   30415   1 0 19:10 ?    00:00:01 /mnt/redis/bin/redis-sentinel 0.0.0.0:26380 [sentinel]
[root@hadoop-master bin]# kill -9 30325

從日志中分析哨兵間的通信及新mater的生成 

####################################啟動日志#######################################
31551:X 28 Jul 2020 19:35:23.289 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
31551:X 28 Jul 2020 19:35:23.289 # Redis version=6.0.5, bits=64, commit=00000000, modified=0, pid=31551, just started
31551:X 28 Jul 2020 19:35:23.289 # Configuration loaded
31552:X 28 Jul 2020 19:35:23.293 * Running mode=sentinel, port=26380.
31552:X 28 Jul 2020 19:35:23.293 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
31552:X 28 Jul 2020 19:35:23.294 # Sentinel ID is fa62676c970da6800e30b28b9cc732e2cee85952
31552:X 28 Jul 2020 19:35:23.294 # +monitor master mymaster 192.168.16.40 6380 quorum 2
31552:X 28 Jul 2020 19:35:24.344 # +sdown sentinel 4cabf69629c1401289b6d3d239eba18b45da0041 192.168.16.40 26381 @ mymaster 192.168.16.40 6380
31552:X 28 Jul 2020 19:35:24.345 # +sdown sentinel 20d8240e06a10cd887b752026c00de0318761eb8 192.168.16.40 26382 @ mymaster 192.168.16.40 6380
31552:X 28 Jul 2020 19:35:26.471 # -sdown sentinel 4cabf69629c1401289b6d3d239eba18b45da0041 192.168.16.40 26381 @ mymaster 192.168.16.40 6380
31552:X 28 Jul 2020 19:35:29.621 # -sdown sentinel 20d8240e06a10cd887b752026c00de0318761eb8 192.168.16.40 26382 @ mymaster 192.168.16.40 6380
####################################殺掉主節(jié)點之后日志1###################################
 
31552:X 28 Jul 2020 19:37:42.950 # +sdown master mymaster 192.168.16.40 6380
31552:X 28 Jul 2020 19:37:43.018 # +new-epoch 3
31552:X 28 Jul 2020 19:37:43.019 # +vote-for-leader 4cabf69629c1401289b6d3d239eba18b45da0041 3
31552:X 28 Jul 2020 19:37:44.023 # +odown master mymaster 192.168.16.40 6380 #quorum 3/2
31552:X 28 Jul 2020 19:37:44.023 # Next failover delay: I will not start a failover before Tue Jul 28 19:37:49 2020
31552:X 28 Jul 2020 19:37:44.098 # +config-update-from sentinel 4cabf69629c1401289b6d3d239eba18b45da0041 192.168.16.40 26381 @ mymaster 192.168.16.40 6380
31552:X 28 Jul 2020 19:37:44.098 # +switch-master mymaster 192.168.16.40 6380 192.168.16.40 6381
31552:X 28 Jul 2020 19:37:44.098 * +slave slave 192.168.16.40:6382 192.168.16.40 6382 @ mymaster 192.168.16.40 6381
31552:X 28 Jul 2020 19:37:44.098 * +slave slave 192.168.16.40:6380 192.168.16.40 6380 @ mymaster 192.168.16.40 6381
31552:X 28 Jul 2020 19:37:45.169 # +sdown slave 192.168.16.40:6380 192.168.16.40 6380 @ mymaster 192.168.16.40 6381
 
####################################殺掉主節(jié)點之后日志2###################################
31557:X 28 Jul 2020 19:37:42.952 # +sdown master mymaster 192.168.16.40 6380
31557:X 28 Jul 2020 19:37:43.014 # +odown master mymaster 192.168.16.40 6380 #quorum 2/2
31557:X 28 Jul 2020 19:37:43.014 # +new-epoch 3
31557:X 28 Jul 2020 19:37:43.014 # +try-failover master mymaster 192.168.16.40 6380
31557:X 28 Jul 2020 19:37:43.016 # +vote-for-leader 4cabf69629c1401289b6d3d239eba18b45da0041 3
31557:X 28 Jul 2020 19:37:43.019 # fa62676c970da6800e30b28b9cc732e2cee85952 voted for 4cabf69629c1401289b6d3d239eba18b45da0041 3
31557:X 28 Jul 2020 19:37:43.019 # 20d8240e06a10cd887b752026c00de0318761eb8 voted for 4cabf69629c1401289b6d3d239eba18b45da0041 3
31557:X 28 Jul 2020 19:37:43.087 # +elected-leader master mymaster 192.168.16.40 6380
31557:X 28 Jul 2020 19:37:43.087 # +failover-state-select-slave master mymaster 192.168.16.40 6380
31557:X 28 Jul 2020 19:37:43.140 # +selected-slave slave 192.168.16.40:6381 192.168.16.40 6381 @ mymaster 192.168.16.40 6380
31557:X 28 Jul 2020 19:37:43.140 * +failover-state-send-slaveof-noone slave 192.168.16.40:6381 192.168.16.40 6381 @ mymaster 192.168.16.40 6380
31557:X 28 Jul 2020 19:37:43.216 * +failover-state-wait-promotion slave 192.168.16.40:6381 192.168.16.40 6381 @ mymaster 192.168.16.40 6380
31557:X 28 Jul 2020 19:37:44.023 # +promoted-slave slave 192.168.16.40:6381 192.168.16.40 6381 @ mymaster 192.168.16.40 6380
31557:X 28 Jul 2020 19:37:44.023 # +failover-state-reconf-slaves master mymaster 192.168.16.40 6380
31557:X 28 Jul 2020 19:37:44.097 * +slave-reconf-sent slave 192.168.16.40:6382 192.168.16.40 6382 @ mymaster 192.168.16.40 6380
31557:X 28 Jul 2020 19:37:45.095 * +slave-reconf-inprog slave 192.168.16.40:6382 192.168.16.40 6382 @ mymaster 192.168.16.40 6380
31557:X 28 Jul 2020 19:37:45.095 * +slave-reconf-done slave 192.168.16.40:6382 192.168.16.40 6382 @ mymaster 192.168.16.40 6380
31557:X 28 Jul 2020 19:37:45.172 # -odown master mymaster 192.168.16.40 6380
31557:X 28 Jul 2020 19:37:45.172 # +failover-end master mymaster 192.168.16.40 6380
31557:X 28 Jul 2020 19:37:45.172 # +switch-master mymaster 192.168.16.40 6380 192.168.16.40 6381
31557:X 28 Jul 2020 19:37:45.172 * +slave slave 192.168.16.40:6382 192.168.16.40 6382 @ mymaster 192.168.16.40 6381
31557:X 28 Jul 2020 19:37:45.172 * +slave slave 192.168.16.40:6380 192.168.16.40 6380 @ mymaster 192.168.16.40 6381
31557:X 28 Jul 2020 19:37:46.226 # +sdown slave 192.168.16.40:6380 192.168.16.40 6380 @ mymaster 192.168.16.40 6381
 
####################################殺掉主節(jié)點之后日志3###################################
31563:X 28 Jul 2020 19:37:42.970 # +sdown master mymaster 192.168.16.40 6380
31563:X 28 Jul 2020 19:37:43.018 # +new-epoch 3
31563:X 28 Jul 2020 19:37:43.019 # +vote-for-leader 4cabf69629c1401289b6d3d239eba18b45da0041 3
31563:X 28 Jul 2020 19:37:43.023 # +odown master mymaster 192.168.16.40 6380 #quorum 3/2
31563:X 28 Jul 2020 19:37:43.023 # Next failover delay: I will not start a failover before Tue Jul 28 19:37:49 2020
31563:X 28 Jul 2020 19:37:44.098 # +config-update-from sentinel 4cabf69629c1401289b6d3d239eba18b45da0041 192.168.16.40 26381 @ mymaster 192.168.16.40 6380
31563:X 28 Jul 2020 19:37:44.098 # +switch-master mymaster 192.168.16.40 6380 192.168.16.40 6381
31563:X 28 Jul 2020 19:37:44.098 * +slave slave 192.168.16.40:6382 192.168.16.40 6382 @ mymaster 192.168.16.40 6381
31563:X 28 Jul 2020 19:37:44.098 * +slave slave 192.168.16.40:6380 192.168.16.40 6380 @ mymaster 192.168.16.40 6381
31563:X 28 Jul 2020 19:37:45.124 # +sdown slave 192.168.16.40:6380 192.168.16.40 6380 @ mymaster 192.168.16.40 6381

哨兵同步pubsub機制發(fā)出來的消息

# https://redis.io/topics/sentinel#pubsub-messages
 
+reset-master <instance details> -- 當master被重置時.
 
+slave <instance details> -- 當檢測到一個slave并添加進slave列表時.
 
+failover-state-reconf-slaves <instance details> -- Failover狀態(tài)變?yōu)閞econf-slaves狀態(tài)時
 
+failover-detected <instance details> -- 當failover發(fā)生時
 
+slave-reconf-sent <instance details> -- sentinel發(fā)送SLAVEOF命令把它重新配置時
 
+slave-reconf-inprog <instance details> -- slave被重新配置為另外一個master的slave,但數(shù)據(jù)復制還未發(fā)生時。
 
+slave-reconf-done <instance details> -- slave被重新配置為另外一個master的slave并且數(shù)據(jù)復制已經(jīng)與master同步時。
 
-dup-sentinel <instance details> -- 刪除指定master上的冗余sentinel時 (當一個sentinel重新啟動時,可能會發(fā)生這個事件).
 
+sentinel <instance details> -- 當master增加了一個sentinel時。
 
+sdown <instance details> -- 進入SDOWN狀態(tài)時;
 
-sdown <instance details> -- 離開SDOWN狀態(tài)時。
 
+odown <instance details> -- 進入ODOWN狀態(tài)時。
 
-odown <instance details> -- 離開ODOWN狀態(tài)時。
 
+new-epoch <instance details> -- 當前配置版本被更新時。
 
+try-failover <instance details> -- 達到failover條件,正等待其他sentinel的選舉。
 
+elected-leader <instance details> -- 被選舉為去執(zhí)行failover的時候。
 
+failover-state-select-slave <instance details> -- 開始要選擇一個slave當選新master時。
 
+no-good-slave <instance details> -- 沒有合適的slave來擔當新master
 
+selected-slave <instance details> -- 找到了一個適合的slave來擔當新master
 
+promoted-slave -- 確認成功
 
+failover-state-reconf-slaves -- 開始對slaves進行reconfig操作
 
+slave-reconf-sent -- 向指定的slave發(fā)送“slaveof”指令,告知此slave跟隨新的master
 
+slave-reconf-inprog -- 此slave正在執(zhí)行slaveof + SYNC過程,slave收到“+slave-reconf-sent”之后將會執(zhí)行slaveof操作
 
+slave-reconf-done -- 此slave同步完成,此后leader可以繼續(xù)下一個slave的reconfig操作
 
failover-state-send-slaveof-noone <instance details> -- 當把選擇為新master的slave的身份進行切換的時候。
 
failover-end-for-timeout <instance details> -- failover由于超時而失敗時。
 
failover-end <instance details> -- failover成功完成,故障轉(zhuǎn)移結(jié)束
 
switch-master <master name> <oldip> <oldport> <newip> <newport> -- 當master的地址發(fā)生變化時。通常這是客戶端最感興趣的消息了。
 
+tilt -- 進入Tilt模式。

至此,Redis哨兵模式基本上可以健壯運行了。

Java使用哨兵模式

@Configuration
publicclass SentinelRedisAppConfig {
  @Bean
  public LettuceConnectionFactory redisConnectionFactory() {
    System.out.println("使用哨兵版本");
    RedisSentinelConfiguration sentinelConfig = new RedisSentinelConfiguration()
        .master("mymaster")
        // 哨兵地址
        .sentinel("192.168.16.40", 26380)
        .sentinel("192.168.16.40", 26381)
        .sentinel("192.168.16.40", 26381);
    return new LettuceConnectionFactory(sentinelConfig);
  }
}

到此這篇關(guān)于Redis 哨兵高模式搭建及Java代碼配置的文章就介紹到這了,更多相關(guān)Redis 哨兵高模式搭建內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關(guān)文章

  • Redis主從架構(gòu)和高可用性實現(xiàn)過程

    Redis主從架構(gòu)和高可用性實現(xiàn)過程

    本文詳細介紹了使用Redis主從架構(gòu)和Linux虛擬服務器(LVS)實現(xiàn)高可用性的方法,并回顧了最近完成的Redis集群遷移部署過程,主從架構(gòu)通過復制數(shù)據(jù)來提高性能和數(shù)據(jù)冗余,而LVS用于實現(xiàn)負載均衡和故障切換,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • Redis并發(fā)問題解決方案

    Redis并發(fā)問題解決方案

    在當前的互聯(lián)網(wǎng)環(huán)境中,高并發(fā)業(yè)務場景十分常見,本文就來介紹一下Redis并發(fā)問題解決方案,具有一定的參考價值,感興趣的可以了解一下
    2023-11-11
  • Redis分布式鎖的10個坑總結(jié)

    Redis分布式鎖的10個坑總結(jié)

    日常開發(fā)中,經(jīng)常會碰到秒殺搶購等業(yè)務,為了避免并發(fā)請求造成的庫存超賣等問題,我們一般會用到Redis分布式鎖,但是使用Redis分布式鎖,很容易踩坑哦,本文將給大家分析闡述,Redis分布式鎖的10個坑,需要的朋友可以參考下
    2023-05-05
  • redis?setex使用方法示例代碼

    redis?setex使用方法示例代碼

    SETEX?是?Redis?中的一個命令,用于設(shè)置鍵的值以及過期時間(以秒為單位),這篇文章主要介紹了redis?setex使用方法,需要的朋友可以參考下
    2024-07-07
  • 解析Redis 數(shù)據(jù)結(jié)構(gòu)之簡單動態(tài)字符串sds

    解析Redis 數(shù)據(jù)結(jié)構(gòu)之簡單動態(tài)字符串sds

    Redis 的 string 類型為何使用sds而不是 C 字符串,本文主要介紹 string 的數(shù)據(jù)結(jié)構(gòu)—— 簡單動態(tài)字符串(Simple Dynamic String) 簡稱sds的相關(guān)知識,需要的朋友可以參考下
    2021-11-11
  • Redis和MySQL保證雙寫一致性的問題解析

    Redis和MySQL保證雙寫一致性的問題解析

    Redis和MySQL的雙寫一致性指的是在同時使用緩存和數(shù)據(jù)庫存儲數(shù)據(jù)的時候,保證Redis和MySQL中數(shù)據(jù)的一致性,那么如何才能保證他們的一致性呢,下面小編就來為大家詳細講講
    2023-11-11
  • redis分布式Jedis類型轉(zhuǎn)換的異常深入研究

    redis分布式Jedis類型轉(zhuǎn)換的異常深入研究

    這篇文章主要介紹了redis分布式Jedis類型轉(zhuǎn)換的異常深入研究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-03-03
  • Redis結(jié)合 Docker 搭建集群并整合SpringBoot的詳細過程

    Redis結(jié)合 Docker 搭建集群并整合SpringBoot的詳細過程

    這篇文章主要介紹了Redis結(jié)合Docker搭建集群并整合SpringBoot的詳細過程,本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • 淺談Redis分布式鎖的正確實現(xiàn)方式

    淺談Redis分布式鎖的正確實現(xiàn)方式

    這篇文章主要介紹了淺談Redis分布式鎖的正確實現(xiàn)方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • redis中redis-cli使用小結(jié)

    redis中redis-cli使用小結(jié)

    redis-cli 是Redis命令行界面,一個簡單的程序,允許直接從終端向Redis發(fā)送命令,并讀取服務器發(fā)送的回復,本文主要介紹了redis中redis-cli使用小結(jié),感興趣的可以了解一下
    2023-10-10

最新評論