當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
SpringBoot整合Redis 主从复制_01
生活随笔
收集整理的這篇文章主要介紹了
SpringBoot整合Redis 主从复制_01
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
主從復制 master slave
核心解決問題:數據冗余備份,不能解決故障的自動轉移
主從復制講解:
1.主節點負責寫入操作,從節點負責同步主節點的冗余數據,不能寫入
2.當主節點掛掉之后,從節點還是從節點,不能進行故障轉移。
這里為了方便操作,搭建偽分布式,就是模擬在一臺服務器上,通過修改端口搭建多個redis服務
| 192.168.0.114 | 6379 | master |
| 192.168.0.114 | 6380 | slave |
| 192.168.0.114 | 6381 | slave |
搭建一主二從演示:
#進入目錄 cd /app/master-slave/conf #復制2個配置文件 cp redis.conf redis-6380.conf cp redis.conf redis-6381.conf#編輯從節點配置文件redis-6380.conf vim redis-6380.conf 92行 port 6379 改為 6380 158行 redis_6379.pid 修改為redis_6380.pid 286行replicaof <masterip> <masterport>改為replicaof 192.168.0.114 6379#編輯從節點配置文件redis-6381.conf vim redis-6381.conf 92行 port 6379 改為 6381 158行 redis_6379.pid 修改為redis_6381.pid 286行replicaof <masterip> <masterport>改為replicaof 192.168.0.114 6379啟動redis的3個節點(1主2從)
/app/master-slave/bin/redis-server /app/master-slave/conf/redis.conf /app/master-slave/bin/redis-server /app/master-slave/conf/redis-6380.conf /app/master-slave/bin/redis-server /app/master-slave/conf/redis-6381.conf 主:咱們啟動redis是基于配置后天啟動的,因此前面都是通用的, 也可以單獨都復制一份,效果一樣的分別啟動redis 3個節點的客戶端
#啟動redis 主節點客戶端 /app/master-slave/bin/redis-cli -h localhost -p 6379 #主節點操作日志如下: [root@localhost conf]# /app/master-slave/bin/redis-cli -h localhost -p 6379 localhost:6379> info replication # Replication role:master connected_slaves:2 slave0:ip=192.168.0.114,port=6380,state=online,offset=196,lag=1 slave1:ip=192.168.0.114,port=6381,state=online,offset=196,lag=1 master_replid:c784bb3d47875dc0d4747d8a67392cacce4dd41c master_replid2:0000000000000000000000000000000000000000 master_repl_offset:196 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1 repl_backlog_histlen:196 localhost:6379> #啟動redis 端口為6380客戶端 /app/master-slave/bin/redis-cli -h localhost -p 6380 #主節點操作日志如下: [root@localhost ~]# /app/master-slave/bin/redis-cli -h localhost -p 6380 localhost:6380> info replication # Replication role:slave master_host:192.168.0.114 master_port:6379 master_link_status:up master_last_io_seconds_ago:0 master_sync_in_progress:0 slave_repl_offset:364 slave_priority:100 slave_read_only:1 connected_slaves:0 master_replid:c784bb3d47875dc0d4747d8a67392cacce4dd41c master_replid2:0000000000000000000000000000000000000000 master_repl_offset:364 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1 repl_backlog_histlen:364 localhost:6380> #啟動redis 端口為6380客戶端 /app/master-slave/bin/redis-cli -h localhost -p 6381 #主節點操作日志如下: [root@localhost ~]# /app/master-slave/bin/redis-cli -h localhost -p 6381 localhost:6381> info replication # Replication role:slave master_host:192.168.0.114 master_port:6379 master_link_status:up master_last_io_seconds_ago:10 master_sync_in_progress:0 slave_repl_offset:448 slave_priority:100 slave_read_only:1 connected_slaves:0 master_replid:c784bb3d47875dc0d4747d8a67392cacce4dd41c master_replid2:0000000000000000000000000000000000000000 master_repl_offset:448 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1 repl_backlog_histlen:448 localhost:6381>下面就可以測試了
需求測試: 1.在主節點上set 值 并查看 2.在從節點獲取主節點set的值 3.登錄從節點,嘗試set 值,預測結果,不能執行寫入操作 #主節點測試操作日志記錄: localhost:6379> set a aaa OK localhost:6379> get a "aaa" localhost:6379>#slave節點測試操作日志記錄: localhost:6380> get a "aaa" localhost:6380> set b bbb (error) READONLY You can't write against a read only replica. localhost:6380> #slave節點測試操作日志記錄: localhost:6381> get a "aaa" localhost:6381> set c ccc (error) READONLY You can't write against a read only replica. localhost:6381>從上面,可以得出結論:
主節點master負責寫入操作,從節點負責同步主節點的冗余數據,但是,不能執行寫入操作。
總結
以上是生活随笔為你收集整理的SpringBoot整合Redis 主从复制_01的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PMP 随堂笔记
- 下一篇: IntelliJ IDEA 2020 基