Redis主从复制机制
1、读写分离的好处
- 性能优化:主服务器专注于写操作,可以更适合写入数据的模式工作;同样,从服务器专注于读操作,可以用更适合读取数据的模式工作。
- 强化数据安全,避免单点故障:由于同步机制的存在,各个服务器之间的数据保持一致,所以其中某个服务器宕机不会导致数据丢失或无法访问,从这个角度说,参与主从复制的Redis服务器构成了一个集群。
2、搭建步骤
- 思路
Redis集群在运行时使用的的是同一个可执行文件,只是对应的配置文件不同。
因此我们不需要安装过多的Redis。
每个配置文件相同的参数是:
daemonize yes
dir /usr/local/cluster-redis
不同的参数是:
配置项名称 | 作用 | 取值 |
---|---|---|
port | Redis服务器启动后监听的端口号 | 5000 6000 7000 |
dbfilename | RDB文件存储位置 | dump5000.rdb dump6000.rdb dump7000.rdb |
logfile | 日志文件位置 | /var/logs/redis5000.log /var/logs/redis6000.log /var/logs/redis7000.log |
pidfile | pid文件位置 | /var/run/redis5000.log /var/run/redis6000.log /var/run/redis7000.log |
- 第一步:创建/usr/local/cluster-redis 目录
命令
mkdir /usr/local/cluster-redis
cp /etc/redis/redis.conf /usr/local/cluster-redis/
- 第二步:
修改redis配置文件的的相关配置参数
要配置的参数如下:
daemonize yes
dir
port
dbfilename
logfile
pidfile
将上面的参数一一配置成我们的表格内的参数。
这里我们的配置文件过大影响阅读,请大家自行配置。
- 第三步运行
配置后把我们的集群运行起来
执行命令:
ps -ef | grep redis | grep -v grep
运行效果如下所示:
客户端登录如下所示:
3、主从关系
- 查看主从关系
info replication
运行效果如下所示:
显然他们都是master
- 设定主从关系
在从机上指定主机位置即可
slaveof ip port
设定你当前的这个服务器为另外一个服务器的从服务器。
运行效果如下所示:
master服务器运行结果如下