Redis主从复制操作和配置详情


Posted in Redis onSeptember 23, 2022

前言

环境:CentOS7下安装Redis集群,默认已安装好5.0及以上版本,操作包括:

  • Redis-server环境变量
  • 配置配置集群的
  • Redis.confRedis主从配置和启动
  • 测试主从机的数据一致性和读写分离

一、Redis-server环境变量

启动redis服务报错:

-bash: redis-server: command not found

原因:

没有配置对应命令,类似于window的环境变量,所以命令找不到

解决办法:

将安装目录下的redis-server执行文件路径配置到系统执行命令里
ln -s /usr/local/redis/redis-4.0.9/src/redis-server /usr/bin/redis-server

其中
/usr/local/redis/redis-4.0.9/src/redis-server 为安装目录下的redis-server服务文件地址

二、配置集群的Redis.conf

我们在一台服务器上开启三个Redis服务,模拟redis集群,一主两从,结构如下 :

Redis主从复制操作和配置详情

端口信息为7001,7002,7003(若使用的服务器记得开启端口的防火墙)

1.先创建7001~7003的三个目录,将配置文件放入对应目录并进行配置

Redis主从复制操作和配置详情

 Redis.conf配置:

  • bind:绑定的 IP,默认是本地,可以指定 IP,表示只有指定的 IP 才可访问,注释掉的话则全部 IP 都可访问。(我们是本地开三个服务,绑定不用动,如果是分布式就0.0.0.0)
  • protected-mode :保护模式(无密码 + 无绑定 = 本地访问),默认开启。这个不用动
  • port :端口,改为700x
  • daemonize :表示以守护进程的方式运行,默认 no,需要改为 yes,避免关闭客户端后,redis 也跟着关闭。我们实验用的话,可以关掉
  • requirepass :密码,默认没有密码,如果需要则设置密码
[root@VM-0-4-centos ~]# redis-cli -p 6379
# 获取密码
127.0.0.1:6379> config get requirepass	
1) "requirepass"
2) ""
# 设置密码
>127.0.0.1:6379> config set requirepass	12455
OK
# 重新关闭客户端再进入时,输入一下命令,则显示无权限
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.
# 输入密码
127.0.0.1:6379> auth 12455
OK

三、配置主从服务器

有临时和永久两种模式:

  • 修改配置文件(永久生效)
  • 在redis.conf中添加一行配置:slaveof <masterip> <masterport>
  • 使用redis-cli客户端连接到redis服务,执行slaveof命令(重启后失效):

slaveof <masterip> <masterport>

四、启动三台Redis服务器

[root@localhost bin]# redis-server /myredis/redis6379.conf
[root@localhost bin]# redis-server /myredis/redis6380.conf
[root@localhost bin]# redis-server /myredis/redis6381.conf
[root@localhost bin]# ps -ef | grep redis
root       2999      1  0 11:58 ?        00:00:00 redis-server *:6379
root       3013      1  0 11:59 ?        00:00:00 redis-server *:6380
root       3019      1  0 11:59 ?        00:00:00 redis-server *:6381
root       3025   2189  0 11:59 pts/0    00:00:00 grep --color=autoredis

 使用命令登录三个redis

redis -p  <port> -a 密码   指定端口号登录redis

执行下列操作以测试:

  • 利用redis-cli连接7001,执行set num 123
  • 利用redis-cli连接7002,执行get num,再执行set num 666
  • 利用redis-cli连接7003,执行get num,再执行set num 888

我们对从机进行写操作发现报错

对主机进行写操作,从机可以获取

可以发现,只有在7001这个master节点上可以执行写操作,7002和7003这两个slave节点只能执行读操作。

到此这篇关于Redis主从复制操作和配置详情的文章就介绍到这了,更多相关Redis主从复制 内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Redis 相关文章推荐
redis通过6379端口无法连接服务器(redis-server.exe闪退)
May 08 Redis
Java Socket实现Redis客户端的详细说明
May 26 Redis
详解Redis基本命令与使用场景
Jun 01 Redis
使用Redis实现实时排行榜功能
Jul 02 Redis
redis客户端实现高可用读写分离的方式详解
Jul 04 Redis
Redis中一个String类型引发的惨案
Jul 25 Redis
Redis如何实现分布式锁
Aug 23 Redis
SpringBoot整合Redis入门之缓存数据的方法
Nov 17 Redis
聊聊redis-dump工具安装问题
Jan 18 Redis
Redis 操作多个数据库的配置的方法实现
Mar 23 Redis
muduo TcpServer模块源码分析
Apr 26 Redis
Redis特殊数据类型Geospatial地理空间
Jun 01 Redis
基于Redission的分布式锁实战
基于redis+lua进行限流的方法
Jul 23 #Redis
Redis过期数据是否会被立马删除
Jul 23 #Redis
如何使用注解方式实现 Redis 分布式锁
Jul 23 #Redis
redis lua限流算法实现示例
Redis Lua脚本实现ip限流示例
Jul 15 #Redis
redis protocol通信协议及使用详解
Jul 15 #Redis
You might like
php 特殊字符处理函数
2008/09/05 PHP
smarty高级特性之对象的使用方法
2015/12/25 PHP
php函数传值的引用传递注意事项分析
2016/06/25 PHP
php统计数组不同元素的个数的实例方法
2019/09/26 PHP
SOSO地图API使用(一)在地图上画圆实现思路与代码
2013/01/15 Javascript
extjs render 用法介绍
2013/09/11 Javascript
javascript 回到顶部效果的实现代码
2014/02/17 Javascript
javascript设计模式之工厂模式示例讲解
2014/03/04 Javascript
构造函数+原型模式构造js自定义对象(最通用)
2014/05/12 Javascript
js对象的复制继承实例
2015/01/10 Javascript
JS实现的仿淘宝交易倒计时效果
2015/11/27 Javascript
Node.js重新刷新session过期时间的方法
2016/02/04 Javascript
基于jQuery Ajax实现上传文件
2016/03/24 Javascript
JavaScript接口的实现三种方式(推荐)
2016/06/14 Javascript
分享JavaScript监听全部Ajax请求事件的方法
2016/08/28 Javascript
JS冒泡事件与事件捕获实例详解
2016/11/25 Javascript
用 js 的 selection range 操作选择区域内容和图片
2017/04/18 Javascript
Webpack实现按需打包Lodash的几种方法详解
2017/05/08 Javascript
Angular中使用MathJax遇到的一些问题
2017/12/15 Javascript
jQuery 防止相同的事件快速重复触发方法
2018/02/08 jQuery
vue项目引入Iconfont图标库的教程图解
2018/10/24 Javascript
一文搞懂ES6中的Map和Set
2019/05/20 Javascript
JQuery使用数组遍历跳出each循环
2020/09/01 jQuery
TF-IDF算法解析与Python实现方法详解
2017/11/16 Python
Python 忽略warning的输出方法
2018/10/18 Python
TensorFlow设置日志级别的几种方式小结
2020/02/04 Python
python3+opencv 使用灰度直方图来判断图片的亮暗操作
2020/06/02 Python
Python+OpenCV图像处理——打印图片属性、设置存储路径、调用摄像头
2020/10/22 Python
美国领先的家居装饰和礼品商店:Kirkland’s
2017/01/30 全球购物
生产车间实习自我鉴定
2013/09/23 职场文书
毕业生护理专业个人求职信范文
2014/01/04 职场文书
导师就业推荐信范文
2014/05/22 职场文书
售房委托书
2014/08/30 职场文书
小学校园广播稿(3篇)
2014/09/19 职场文书
2014年安全管理工作总结
2014/12/01 职场文书
浅谈Python3中datetime不同时区转换介绍与踩坑
2021/08/02 Python