標籤:redis;master;slave
一:說明
1、準備兩台伺服器
master:192.168.0.128
slave:192.168.0.129
2、關閉防火牆
iptables -F
# getenforce
Disabled
二、安裝配置
1、分別都安裝redis
參考我之前寫的文章:Redis資料庫的安裝與配置
http://msiyuetian.blog.51cto.com/8637744/1717983
2、master設定檔不用動,slave設定檔上加一行
slaveof 192.168.0.128 6379 //主IP masterauth 123456 //如果主上設定了密碼,若密碼為123456,則要加這行 |
3、分別啟動master和slave上的redis
三、驗證主從
在從上查看日誌
[[email protected] ~]# tail /usr/local/redis/var/redis.log
[6117] 03 Dec 11:52:12.034 * Full resync from master: 37031d932827c403dfd2be6df445901ae3b67a65:1 [6117] 03 Dec 11:52:12.385 * MASTER <-> SLAVE sync: receiving 18 bytes from master [6117] 03 Dec 11:52:12.385 * MASTER <-> SLAVE sync: Flushing old data [6117] 03 Dec 11:52:12.385 * MASTER <-> SLAVE sync: Loading DB in memory [6117] 03 Dec 11:52:12.385 * MASTER <-> SLAVE sync: Finished with success [6117] 03 Dec 11:52:17.108 - 1 clients connected (0 slaves), 276592 bytes in use [6117] 03 Dec 11:52:22.169 - 1 clients connected (0 slaves), 276592 bytes in use [6117] 03 Dec 11:52:27.219 - 1 clients connected (0 slaves), 276592 bytes in use [6117] 03 Dec 11:52:32.308 - 1 clients connected (0 slaves), 276592 bytes in use [6117] 03 Dec 11:52:37.390 - 1 clients connected (0 slaves), 276592 bytes in use |
若出現上面類似的資訊,說明主從配置成功了。下面要進行樣本驗證
樣本驗證:
在主上建立資料
[[email protected] ~]# redis-cli -a 123456
127.0.0.1:6379> set key1 123 OK 127.0.0.1:6379> set key2 456 OK 127.0.0.1:6379> sadd set1 aaa (integer) 1 127.0.0.1:6379> sadd set1 bbb (integer) 1 127.0.0.1:6379> sadd set1 ccc (integer) 1 127.0.0.1:6379> keys * 1) "set1" 2) "key2" 3) "key1" |
在從上查看
[[email protected] ~]# redis-cli
127.0.0.1:6379> keys * 1) "key2" 2) "set1" 3) "key1" 127.0.0.1:6379> get key1 "123" 127.0.0.1:6379> get key2 "456" 127.0.0.1:6379> smembers set1 1) "ccc" 2) "aaa" 3) "bbb" |
由上可知,實現了主從同步。
四、主從其他相關配置
1)slave-read-only yes //讓從唯讀
2)repl-ping-slave-period 10 //設定slave向master發起ping的頻率,每10s發起一次
3)repl-timeout 60 //設定slave ping不通master多少秒後就逾時
4)repl-disable-tcp-nodelay no //是否開啟tcp_nodelay,開啟後將會使用更少的頻寬,但會有延遲,所以建議關閉
5)repl-backlog-size 1mb //同步隊列的長度,backuplog是master的一個緩衝區,主從斷開後,master會先把資料寫入到緩衝區,slave再次串連會從緩衝區中同步資料
6)repl-backlog-ttl 3600 //主從斷開後,緩衝區的有效期間,預設1小時
7)slave-priority 100 //多個slave是可以設定優先權的,數值越小優先順序越高,應用於叢集中,支援slave切換為master,優先順序最高的才會切換
8)min-slaves-to-write 3 //和下面的一起使用,它的意思是master發現有超過3個slave的延遲高於10s,那麼master就會暫停寫操作。這兩個數值任何一個為0,則關閉該功能,預設第一個數值是0
9)min-slaves-max-lag 10
本文出自 “M四月天” 部落格,請務必保留此出處http://msiyuetian.blog.51cto.com/8637744/1719176
Redis主從配置