一、主从有优点与概述
数据冗余,实现数据的热备份
故障恢复,避免单点故障带来的服务不可用
读写分离,负载均衡、主节点负载读写,从节点负责读,提高服务器并发量
高可用基础,是哨兵机制和集群实现的基础
一个master可以有多个slave,即一主多从;而slave也可以接受其他slave的连接,形成“主从链”层叠状结构(cascading-like structure),自 Redis 4.0 起,所有的sub-slave也会从master收到完全一样的复制流
在从服务器中添加配置
slaveof选项,在5.0版本中使用了replicaof代替了slaveof(github.com/antirez/red…),slaveof还可以继续使用,不过建议使用replicaof。如果是使用命令行来复制的话,重启之后会无效
二、主从节点配置
- 1、创建用于Redis启动程序、配置文件、运行的pid、日志logs、数据文件存储等目录 mkdir -p /usr/redis/{redis-6379,redis-6380,redis-6381}/{bin,conf,run,logs,dbcache}
- 2、复制应用程序 cp /usr/redis/src/{redis-server,redis-cli,redis-benchmark} /usr/redis/redis-6379/bin cp /usr/redis/src/{redis-server,redis-cli,redis-benchmark} /usr/redis/redis-6380/bin cp /usr/redis/src/{redis-server,redis-cli,redis-benchmark} /usr/redis/redis-6381/bin
- 3、复制redis.conf到redis-6379/conf/目录
- cp /usr/redis/redis.conf /usr/redis/redis-6379/conf/ cd /usr/redis/redis-6379/conf/ mv redis.conf redis-6379.conf
- 4、主库 redis-6379.conf
#三个conf文件公共配置 #bind 127.0.0.1 #开启外网访问 requirepass 123456 #三个Redis密码 daemonize yes #开启后台运行
#修改端口、pid文件、日志文件、数据文件路径 port 6379 pidfile /usr/redis/redis-6379/run/redis_6379.pid logfile "/usr/redis/redis-6379/logs/redis.log" dir /usr/redis/redis-6379/dbcache/
5、从库 redis-6380.conf
#修改端口、pid文件、日志文件、数据文件路径 port 6380 pidfile /usr/redis/redis-6380/run/redis_6381.pid logfile "/usr/redis/redis-6380/logs/redis.log" dir /usr/redis/redis-6380/dbcache/
#主从设置 masterauth 123456 #设置从库访问master密码
#replicaof <masterip> <masterport> replicaof 192.168.4.165 6379 #从库连接主库的IP地址
三、启动redis
/usr/redis/redis-6379/bin/redis-server /usr/redis/redis-6379/conf/redis-6379.conf /usr/redis/redis-6380/bin/redis-server /usr/redis/redis-6380/conf/redis-6380.conf /usr/redis/redis-6381/bin/redis-server /usr/redis/redis-6381/conf/redis-6381.conf
四、客户端访问
- /usr/redis/redis-6379/bin/redis-cli -h 192.168.4.165 -p 6379 -a 123456 192.168.4.165:6379> info replication