Redis主从搭建

301 阅读2分钟

一、主从有优点与概述

  1. 数据冗余,实现数据的热备份

  2. 故障恢复,避免单点故障带来的服务不可用

  3. 读写分离,负载均衡、主节点负载读写,从节点负责读,提高服务器并发量

  4. 高可用基础,是哨兵机制和集群实现的基础

  5. 一个master可以有多个slave,即一主多从;而slave也可以接受其他slave的连接,形成“主从链”层叠状结构(cascading-like structure),自 Redis 4.0 起,所有的sub-slave也会从master收到完全一样的复制流

  6. 在从服务器中添加配置slaveof选项,在5.0版本中使用了replicaof代替了slaveofgithub.com/antirez/red…),slaveof还可以继续使用,不过建议使用replicaof。如果是使用命令行来复制的话,重启之后会无效

二、主从节点配置

  1. 1、创建用于Redis启动程序、配置文件、运行的pid、日志logs、数据文件存储等目录 mkdir -p /usr/redis/{redis-6379,redis-6380,redis-6381}/{bin,conf,run,logs,dbcache}
  2. 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. 3、复制redis.conf到redis-6379/conf/目录
  4. cp /usr/redis/redis.conf /usr/redis/redis-6379/conf/ ​ cd /usr/redis/redis-6379/conf/ ​ mv redis.conf redis-6379.conf
  5. 4、主库 redis-6379.conf
  6. #三个conf文件公共配置 #bind 127.0.0.1 #开启外网访问 requirepass 123456 #三个Redis密码 daemonize yes #开启后台运行

  7. #修改端口、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

  8. #修改端口、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/

  9. #主从设置 masterauth 123456 #设置从库访问master密码

  10. #replicaof <masterip> <masterport> replicaof 192.168.4.165 6379 #从库连接主库的IP地址

三、启动redis

  1. /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

四、客户端访问

  1. /usr/redis/redis-6379/bin/redis-cli -h 192.168.4.165 -p 6379 -a 123456 ​ 192.168.4.165:6379> info replication