redis主从集群搭建eclipse_【Redis】Redis 主从模式搭建
主從模式介紹
Redis雖然讀取寫入的速度都特別快,但是也會產生讀壓力特別大的情況。為了分擔讀壓力,Redis支持主從復制,Redis的主從結構可以采用一主多從或者級聯結構,Redis主從復制可以根據是否是全量分為全量同步和增量同步。下圖為級聯結構。
主從同步過程
Redis全量復制一般發生在Slave初始化階段,這時Slave需要將Master上的所有數據都復制一份。具體步驟如下:
-? 從服務器連接主服務器,發送SYNC命令;
-? 主服務器接收到SYNC命名后,開始執行BGSAVE命令生成RDB文件并使用緩沖區記錄此后執行的所有寫命令;
-? 主服務器BGSAVE執行完后,向所有從服務器發送快照文件,并在發送期間繼續記錄被執行的寫命令;
-? 從服務器收到快照文件后丟棄所有舊數據,載入收到的快照;
-? 主服務器快照發送完畢后開始向從服務器發送緩沖區中的寫命令;
-? 從服務器完成對快照的載入,開始接收命令請求,并執行來自主服務器緩沖區的寫命令;
主從模式搭建
本例采用單例的1主2從的搭建方式。
服務類型角色IP地址端口
Redis
master
127.0.0.1
17007
Redis
slave
127.0.0.1
17008
Redis
slave
127.0.0.1
17009
1、首先準備一個redis實例,參考【Redis】安裝及簡單使用
2、準備一份主配置文件,端口是17007
1 # 包含文件(redis-base.conf,文件從redis安裝目錄中拷貝的)2 include /data/soft/redis-sentinel/redis-base.conf3
4 # 將redis-base.conf文件中,bind注釋,需要在外網訪問,將protected-model改為no5 protected-mode no6
7 # 端口8 port 170079
10 # 后臺運行11 daemonize yes12
13 # pid文件14 pidfile redis_17007.pid15
16 # 日志文件17 logfile "/data/log/redis-sentinel-log/redis-17007-log/redis-17007.log"18
19 # 主認證密碼20 masterauth 12345621
22 # 認證密碼23 requirepass 12345624
25 # 最大內存10M,一般為機器內存的3/426 maxmemory 10mb27
28 # 內存達到最大時策略,可選擇其他策略29 maxmemory-policy volatile-lru30
31 # 目錄32 dir /data/soft/redis-sentinel/redis-17007/33
34 # 快照文件35 dbfilename dump-17007.rdb
3、準備一份從配置文件,端口是17008,17009,在主配置文件的基礎上,修改相應配置,并加上以下2行
1 # 從節點要跟隨的主節點2 slaveof 192.168.0.3 170073
4 # 主節點認證密碼,如果設置了密碼,就要設置5 masterauth 123456
4、目錄結構如圖:
5、先啟動主節點,然后啟動從節點
主節點啟動命令:redis-5.0.5/src/redis-server redis-17007/redis-17007.conf
從節點啟動命令:redis-5.0.5/src/redis-server redis-17008/redis-17008.conf
6、redis客戶端鏈接主節點,查看信息
命令:redis-5.0.5/src/redis-cli -c -h 192.168.0.3 -p 17007 -a 123456
主節點信息:
1 192.168.0.3:17007> INFO Replication2 # Replication3 role:master4 connected_slaves:25 slave0:ip=192.168.0.3,port=17008,state=online,offset=1373,lag=06 slave1:ip=192.168.0.3,port=17009,state=online,offset=1373,lag=17 master_replid:535c43ecbf009f8eae1930d52c2fc6149432b5ee8 master_replid2:00000000000000000000000000000000000000009 master_repl_offset:137310 second_repl_offset:-111 repl_backlog_active:112 repl_backlog_size:104857613 repl_backlog_first_byte_offset:114 repl_backlog_histlen:1373
從節點信息:
1 192.168.0.3:17008> INFO Replication2 # Replication3 role:slave4 master_host:192.168.0.35 master_port:170076 master_link_status:up7 master_last_io_seconds_ago:58 master_sync_in_progress:09 slave_repl_offset:126110 slave_priority:10011 slave_read_only:112 connected_slaves:013 master_replid:535c43ecbf009f8eae1930d52c2fc6149432b5ee14 master_replid2:000000000000000000000000000000000000000015 master_repl_offset:126116 second_repl_offset:-117 repl_backlog_active:118 repl_backlog_size:104857619 repl_backlog_first_byte_offset:120 repl_backlog_histlen:1261
7、測試,在主節點存入緩存,在從節點取出緩存
1 192.168.0.3:17007> set foo bar2 OK3 192.168.0.3:17007> get foo4 "bar"5 192.168.0.3:17008> get foo6 "bar"7 192.168.0.3:17009> get foo8 "bar"
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的redis主从集群搭建eclipse_【Redis】Redis 主从模式搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python中的字典和集合_Python
- 下一篇: 安卓手机主题软件_安卓手机安装不了软件原