单机Redis存在的问题
无法故障转移 ,无法避免单点故障
磁盘空间的瓶颈
QPS瓶颈
Redis主从复制的作用
提供数据副本
扩展读性能
配置方法
通过命令
通过配置文件
演示
为方便演示,在一台服务器上搭建redis主从(生产上不会这样做),根据端口区分。
主库 6379
从库 6380
编辑配置文件
vi redis-6379.conf
#后台进程启动
daemonize yes
#端口
port 6379
#日志文件名称
logfile "6379.log"
#Redis工作目录
dir /server/redis_data
#RDB文件名称
dbfilename dump-6379.rdb
vi redis-6380.conf
daemonize yes
port 6380
logfile "6380.log"
dir /server/redis_data
#主库ip和端口
slaveof 10.238.162.34 6379
#从库只读
slave-read-only yes
启动redis服务
redis-server /usr/local/redis/config/redis-6379.conf
redis-server /usr/local/redis/config/redis-6380.conf
查看复制状态
主库
[root@localhost config]# redis-cli -p 6379 info replication
# Replication
role:master
connected_slaves:1
slave0:ip=10.238.162.34,port=6380,state=online,offset=1525,lag=0
master_repl_offset:1525
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:1524
从库
[root@localhost config]# redis-cli -p 6380 info replication
# Replication
role:slave
master_host:10.238.162.34
master_port:6379
master_link_status:up
master_last_io_seconds_ago:4
master_sync_in_progress:0
slave_repl_offset:1595
slave_priority:100
slave_read_only:1
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
查看日志观察复制过程
主库
从库