Redis的主从复制

戏子无情 提交于 2020-02-08 02:10:58

一.初步了解redis

1、什么是redis

Redis(远程字典服务)是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的
日志型、Key-Value数据库,并提供多种语言的API。是一个key-value存储系统。和Memcached类>似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实>现了主从同步。

2、为什么要实现redis的主从复制

若数据存放在唯一的服务器上,当该服务器发生故障时,可能会导致数据的损坏或丢失,为了数>据的安全,可采用主从复制的方式部署多台服务器,这样当某一台服务器故障时,还有其他服务>器可以提供服务,保护了数据的完整和安全。

3、主从复制原理

当一台服务器上的数据更新后,自动将更新的数据同步到其他服务器上,部署多台服务器,并在>配置文件中设定服务器之间的主从关系,主服务器写入数据,并将数据同步到从服务器,默认情>况下,redis中主服务器用于写入,从服务器用于读。

二.如何实现redis的主从复制

1、准备三台虚拟机用于模拟

<主服务器(master)>:
ip: 172.25.2.1
hostname: madao1

<从服务器(slave)>:
ip1: 172.25.2.2
hostname1: madao2
ip2: 172.25.2.3
hostname2: madao3

2、安装redis

在三台服务器上均安装redis

命令 功能
tar zxf redis安装包 解压redis安装包
cd redis目录 进入到解压后的redis目录中
yum install gcc -y 下载gcc,解决依赖性关系
make && make install 安装
cd utils 再进入到该目录
./install_server.sh 执行该脚本

3、在主服务器端配置

命令 功能
vim /etc/redis/6379.conf 编辑redis的配置文件
bind 0.0.0.0			|修改该行的配置为此
命令 功能
/etc/init.d/redis_6379 stop
/etc/init.d/redis_6379 start 手动重启,使修改立即生效

在这里插入图片描述
在这里插入图片描述

4、在从服务器端配置

在两台从服务器端进行如下的同样配置:

命令 功能
vim /etc/redis/6379.conf 编辑redis的配置文件
slaveof 172.25.2.1 6379	|意为该服务器是172.25.2.1的从服务器,主端口为6379
命令 功能
/etc/init.d/redis_6379 restart 重启使修改立即生效

在这里插入图片描述

5、配置完成后的测试

(1)在主服务器操作

命令 功能
redis-cli 使用该命令进入redis模式
flushall 清空原有数据,保持环境纯净
set abc 123 设置
get abc 查看abc
#123 查看得到的反馈为123

在这里插入图片描述

(2)在从服务器测试

命令 功能
redis-cli 进入redis
get abc 查看abc
#123 看是否反馈正确,若为123则主从复制测试成功

在这里插入图片描述
在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!