redis主從複製實驗linux
主從複製時狀態
#複製在 Master 端是非阻塞模式的,這意味着即使是多個 Slave 執行首次同步時,
Master 依然能夠提供查詢服務;
#複製在 Slave 端也是非阻塞模式的:若是你在 redis.conf 作了設置,Slave 在執行首次同步的時候仍能夠使用舊數據集提供查詢;你也能夠配置爲當 Master與 Slave 失去聯繫時,讓 Slave 返回客戶端一個錯誤提示。
#當 Slave 要刪掉舊的數據集,並從新加載新版數據時,Slave 會阻塞鏈接請求
(通常發生在與 Master 斷開重連後的恢復階段);redis
實驗:vim
rhel6.5 selinx and iptables disabled服務器
server1 192.168.122.11ide
server2 192.168.122.12工具
1、Redis 安裝測試
[root@server1 ~]# yum install -y gcc 安裝所需gcc環境
下載 redis-4.0.8.tar.gzspa
[root@server1 ~]# tar zxf redis-4.0.8.tar.gz 解壓rest
[root@server1 ~]# ls /usr/local/bin/
redis-benchmark redis-check-rdb redis-sentinel
redis-check-aof redis-cli redis-serverserver
Redis-benchmark 壓力測試工具
Redis-check-aof 檢查redis持久化命令文件的完整性
Redis-check-dump 檢查redis持久化數據文件的完整性
Redis-cli redis在linux上的客戶端
Redis-sentinel redis-sentinel是集羣管理工具,主要負責主從切換。
Redis-server Redis服務器的daemon啓動程序
編譯完成後
[root@server1 redis-4.0.8]# cd utils/
[root@server1 utils]# ./install_server.sh (一路回車)
server2與server1一致!
2、修改配置文件
master 端
[root@server1 redis]# pwd
/etc/redis
[root@server1 redis]# vim 6379.conf
bind 0.0.0.0 本地全部ip
[root@server1 redis]# /etc/init.d/redis_6379 restart 從新啓動
slave 端
[root@server2 utils]# cd /etc/redis/
[root@server2 redis]# vim 6379.conf
slaveof 192.168.122.11 6379 寫入主的ip 端口
[root@server2 redis]# /etc/init.d/redis_6379 restart 從新啓動
查看端口
測試:
在主上寫入數據
[root@server2 redis]# redis-cli 從上可讀取