在redis中实现主从复制,主数据库不需要任何配置,从数据库配置文件加上如下命令
slaveof 主数据库地址 主数据库端口
daemonize yes 后台运行
若在一个机器上测试注意改日志位置,pidfile名字,dir位置和port,这些配置多个redis实例不能重了
启动主从redis服务器 ,自己根据自己的文件位置启动-> ./redis-server ./redis.conf
//查看当前实例信息 主
[root@localhostmaster-slave]# redis-cli -p 6370
127.0.0.1:6370>info replication
# Replication
role:master
connected_slaves:2
slave0:ip=192.168.94.151,port=6371,state=online,offset=42,lag=1
slave1:ip=192.168.94.151,port=6372,state=online,offset=42,lag=1
master_replid:0d7d796326a460f4ea89f0d35164ded8f56f9f96
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:42
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:42
127.0.0.1:6370>set set1 aa
//从1
[root@localhostbin]# redis-cli -p 6371
127.0.0.1:6371>info replication
# Replication
role:slave
master_host:192.168.94.151
master_port:6370
master_link_status:up
master_last_io_seconds_ago:1
master_sync_in_progress:0
slave_repl_offset:84
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:0d7d796326a460f4ea89f0d35164ded8f56f9f96
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:84
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:84
验证是否成功
127.0.0.1:6370>set set1 aa
OK
127.0.0.1:6371>get set1
"aa"
确实同步了,注:redis2.8以后从库不允许写数据了