redis3.0 主从

redis3.0 主从

两个实例:6000为主,6001为从。
主实例配置如下:
# replication
repl-diskless-sync no
repl-ping-slave-period 10
repl-timeout 60
repl-backlog-size 100mb
repl-backlog-ttl 3600
# 参数解释
repl-diskless-sync: 主从同步数据的方式,no表示使用磁盘(先生成rdb文件然后同步到salve进行加载),ye表示使用网络的方式无需磁盘参与,适合网络质量好磁盘读写慢的环境。
repl-timeout: 主从关系存活的超时时间,必须必repl-ping-slave-period大,否则没来得及做存活检查就超时了。
repl-ping-slave-period:master向slave发送存活检查ping的时间间隔。
从实例配置如下:
# replication
slave-read-only yes
slaveof 127.0.0.1 6000
masterauth 8a6715
主从配置完后,从库只能读无法响应写入的请求:
127.0.0.1:6001> set key2 value2 
(error) READONLY You can't write against a read only slave.

手动主从切机

在主宕机时,需要先手动关闭主库,再在从机上关闭主从关系,从库便可写入
127.0.0.1:6001> slaveof NO ONE
OK
127.0.0.1:6001> set key100 value100
OK
127.0.0.1:6001> get key100
"value100"
127.0.0.1:6001> 
假设原先的主库ok了,需要切回去。
将从库的数据save为 *.rbd 文件,拷贝到主库的数据目录中覆盖原有的,并启动主库
    127.0.0.1:6001> save
    OK
    127.0.0.1:6001> quit
    [root@baseos-1_192.168.31.140 ~]# cp /data/database/redis/redis6001.rdb  /data/database/redis/redis6000.rdb 
    cp: overwrite `/data/database/redis/redis6000.rdb'? y
    [root@baseos-1_192.168.31.140 ~]# /root/redis6000.start
    [2017-06-16 11:06:40] Redis-3.2.7 start ok, port: 6000.
    [root@baseos-1_192.168.31.140 ~]#./redis6000.login  
    127.0.0.1:6000> keys *
    1) "key_6000_new"
    2) "key_6001"
    3) "key100"
    4) "key_6000"
    5) "key_1"
    127.0.0.1:6000> 
从库重新做主从
[root@baseos-1_192.168.31.140 ~]# ./redis6001.login 
127.0.0.1:6001> slaveof 127.0.0.1 6000
OK
127.0.0.1:6001> set aa bb
(error) READONLY You can't write against a read only slave.
127.0.0.1:6001> quit
[root@baseos-1_192.168.31.140 ~]# ./redis6000.login  
127.0.0.1:6000> keys *
1) "key_6000_new"
2) "key_6001"
3) "key100"
4) "key_6000"
5) "key_1"
127.0.0.1:6000> set new_key new_value
OK
127.0.0.1:6000> quit
[root@baseos-1_192.168.31.140 ~]# ./redis6001.login 
127.0.0.1:6001> get new_key
"new_value"
127.0.0.1:6001>
posted @   wshenJin  阅读(235)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
点击右上角即可分享
微信分享提示