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实现排行榜功能
May 24 Redis
解析Redis Cluster原理
Jun 21 Redis
在redisCluster中模糊获取key方式
Jul 09 Redis
redis requires ruby version2.2.2的解决方案
Jul 15 Redis
Redis Cluster 集群搭建你会吗
Aug 04 Redis
基于Redis结合SpringBoot的秒杀案例详解
Oct 05 Redis
Redis模仿手机验证码发送的实现示例
Nov 02 Redis
Redis集群节点通信过程/原理流程分析
Mar 18 Redis
Redis 异步机制
May 15 Redis
Redis特殊数据类型bitmap位图
Jun 01 Redis
redis protocol通信协议及使用详解
Jul 15 Redis
如何使用注解方式实现 Redis 分布式锁
Jul 23 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/03/24 PHP
php 按指定元素值去除数组元素的实现方法
2011/11/04 PHP
php jquery 多文件上传简单实例
2013/12/23 PHP
用js查找法实现当前栏目的高亮显示的代码
2007/11/24 Javascript
TextArea 控件的最大长度问题(js json)
2009/12/16 Javascript
常规表格多表头查询示例
2014/02/21 Javascript
nodeJS代码实现计算交社保是否合适
2015/03/09 NodeJs
jQuery实现进度条效果代码
2015/12/17 Javascript
iscroll碰到Select无法选择下拉刷新的解决办法
2016/05/21 Javascript
JS定时器使用,定时定点,固定时刻,循环执行详解
2016/05/31 Javascript
Vuejs入门教程之Vue生命周期,数据,手动挂载,指令,过滤器
2017/04/19 Javascript
详解vue-router 2.0 常用基础知识点之router-link
2017/05/10 Javascript
详谈innerHTML innerText的使用和区别
2017/08/18 Javascript
Vue实现typeahead组件功能(非常靠谱)
2017/08/26 Javascript
vue之浏览器存储方法封装实例
2018/03/15 Javascript
Vue-component全局注册实例
2018/09/06 Javascript
JavaScript栈和队列相关操作与实现方法详解
2018/12/07 Javascript
了解JavaScript中的选择器
2019/05/24 Javascript
mock.js模拟前后台交互
2019/07/25 Javascript
Angular 多级路由实现登录页面跳转(小白教程)
2019/11/19 Javascript
Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)
2019/12/04 Javascript
vue 解决无法对未定义的值,空值或基元值设置反应属性报错问题
2020/07/31 Javascript
js+css3实现简单时钟特效
2020/09/13 Javascript
Python中threading模块join函数用法实例分析
2015/06/04 Python
python中如何使用分步式进程计算详解
2019/03/22 Python
解决.ui文件生成的.py文件运行不出现界面的方法
2019/06/19 Python
Python钉钉报警及Zabbix集成钉钉报警的示例代码
2020/08/17 Python
小学生自我评价范例
2013/09/24 职场文书
机械设计制造专业个人求职信
2013/09/25 职场文书
关于打架的检讨书
2014/01/17 职场文书
《中华少年》教学反思
2014/02/15 职场文书
行政管理专业求职信
2014/07/06 职场文书
民主生活会对照检查材料
2014/09/22 职场文书
地陪导游欢迎词
2015/01/26 职场文书
企业爱心捐款倡议书
2015/04/27 职场文书
终止合同协议书范本
2016/03/22 职场文书