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遍历所有key的两个命令(KEYS 和 SCAN)
Apr 12 Redis
redis 限制内存使用大小的实现
May 08 Redis
为Java项目添加Redis缓存的方法
May 18 Redis
redis实现排行榜功能
May 24 Redis
解析高可用Redis服务架构分析与搭建方案
Jun 20 Redis
你真的了解redis为什么要提供pipeline功能
Jun 22 Redis
使用Redis实现实时排行榜功能
Jul 02 Redis
在项目中使用redis做缓存的一些思路
Sep 14 Redis
Redis的字符串是如何实现的
Oct 24 Redis
Redis安装使用RedisJSON模块的方法
Mar 23 Redis
浅谈Redis缓冲区机制
Jun 05 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中文本操作的类
2007/03/17 PHP
php 破解防盗链图片函数
2008/12/09 PHP
PHP 万年历实现代码
2012/10/18 PHP
windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
2014/01/14 PHP
PHP中如何使用Redis接管文件存储Session详解
2018/11/28 PHP
php使用redis的几种常见操作方式和用法示例
2020/02/20 PHP
JS 控制CSS样式表
2009/08/20 Javascript
jQuery-Tools-overlay 使用介绍
2012/07/14 Javascript
如何使用Javascript获取距今n天前的日期
2013/07/08 Javascript
解析javascript 浏览器关闭事件
2013/07/08 Javascript
jquery监听div内容的变化具体实现思路
2013/11/04 Javascript
node.js中的require使用详解
2014/12/15 Javascript
JQuery控制div外点击隐藏而div内点击不会隐藏的方法
2015/01/13 Javascript
js实现仿京东2级菜单效果(带延时功能)
2015/08/27 Javascript
详解Vuejs2.0之异步跨域请求
2017/04/20 Javascript
详解node如何让一个端口同时支持https与http
2017/07/04 Javascript
微信小程序表单验证功能完整实例
2017/12/01 Javascript
浅谈Vue2.0中v-for迭代语法的变化(key、index)
2018/03/06 Javascript
vue项目webpack中Npm传递参数配置不同域名接口
2018/06/15 Javascript
jQuery+Datatables实现表格批量删除功能【推荐】
2018/10/24 jQuery
微信小程序Echarts图表组件使用方法详解
2019/06/25 Javascript
websocket4.0+typescript 实现热更新的方法
2019/08/14 Javascript
vue 使用rules对表单字段进行校验的步骤
2020/12/25 Vue.js
使用Python实现一个简单的项目监控
2015/03/31 Python
Django的用户模块与权限系统的示例代码
2019/07/24 Python
Django数据结果集序列化并展示实现过程
2020/04/22 Python
python实现计算图形面积
2021/02/22 Python
CSS3线性渐变简单实现以及该属性在浏览器中的不同
2012/12/12 HTML / CSS
新西兰演唱会和体育门票网站:Ticketmaster新西兰
2017/10/07 全球购物
会计工作心得体会
2014/01/13 职场文书
二手书店创业计划书
2014/01/16 职场文书
写给女朋友的检讨书
2014/01/28 职场文书
新闻学专业个人求职信写作
2014/02/04 职场文书
试用期自我鉴定范文
2014/03/20 职场文书
毕业论文致谢怎么写
2015/05/14 职场文书
回门宴新娘答谢词
2015/09/29 职场文书