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 08 Redis
详解redis分布式锁的这些坑
May 19 Redis
详解Redis主从复制实践
May 19 Redis
Django使用redis配置缓存的方法
Jun 01 Redis
redis cluster支持pipeline的实现思路
Jun 23 Redis
聊一聊Redis与MySQL双写一致性如何保证
Jun 26 Redis
使用Redis实现实时排行榜功能
Jul 02 Redis
在redisCluster中模糊获取key方式
Jul 09 Redis
Redis Cluster集群动态扩容的实现
Jul 15 Redis
浅谈redis整数集为什么不能降级
Jul 25 Redis
使用Redis做预定库存缓存功能
Apr 02 Redis
Redis实现一个账号只能登录一个设备
Apr 19 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
在PHP3中实现SESSION的功能(二)
2006/10/09 PHP
删除html标签得到纯文本可处理嵌套的标签
2014/04/28 PHP
Yii Framework框架获取分类下面的所有子类方法
2014/06/20 PHP
PHP中iconv函数转码时截断字符问题的解决方法
2015/01/21 PHP
[原创]CI(CodeIgniter)简单统计访问人数实现方法
2016/01/19 PHP
慎用 somefunction.prototype 分析
2009/06/02 Javascript
在html页面上拖放移动标签
2010/01/08 Javascript
EXTJS FORM HIDDEN TEXTFIELD 赋值 使用value不好用的问题
2011/04/16 Javascript
基于jquery的防止大图片撑破页面的实现代码(立即缩放)
2011/10/24 Javascript
extjs tabpanel限制选项卡数量实现思路及代码
2013/04/02 Javascript
多个jQuery版本共存的处理方案
2015/03/17 Javascript
angularjs学习笔记之三大模块(modal,controller,view)
2015/09/26 Javascript
vue组件如何被其他项目引用
2017/04/13 Javascript
详解Node.js中exports和module.exports的区别
2017/04/19 Javascript
js防刷新的倒计时代码 js倒计时代码
2017/09/06 Javascript
微信小程序上传图片实例
2018/05/28 Javascript
layer关闭当前窗口页面以及确认取消按钮的方法
2019/09/09 Javascript
windows下cx_Freeze生成Python可执行程序的详细步骤
2018/10/09 Python
python 实现读取一个excel多个sheet表并合并的方法
2019/02/12 Python
Python-Flask:动态创建表的示例详解
2019/11/22 Python
Pandas时间序列基础详解(转换,索引,切片)
2020/02/26 Python
HTML5添加鼠标悬浮音响效果不使用FLASH
2014/04/23 HTML / CSS
Philosophy美国官网:美国美容品牌
2016/08/15 全球购物
一些.net面试题
2014/10/06 面试题
采购主管的岗位职责
2013/12/17 职场文书
八年级音乐教学反思
2014/01/09 职场文书
应聘编辑自荐信范文
2014/03/12 职场文书
软件专业毕业生个人自我鉴定
2014/04/17 职场文书
校优秀毕业生主要事迹
2014/05/26 职场文书
运动会的口号
2014/06/09 职场文书
井冈山红色之旅感想
2014/10/07 职场文书
打架赔偿协议书范本
2014/10/26 职场文书
人事局接收函
2015/01/30 职场文书
2015年社区宣传工作总结
2015/05/20 职场文书
2019年最新七夕唯美祝福语(60条)
2019/07/22 职场文书
Python代码风格与编程习惯重要吗?
2021/06/03 Python