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 13 Redis
Redis可视化客户端小结
Jun 10 Redis
Redis性能监控的实现
Jul 09 Redis
详解Redis在SpringBoot工程中的综合应用
Oct 16 Redis
分布式Redis Cluster集群搭建与Redis基本用法
Feb 24 Redis
解决Redis启动警告问题
Feb 24 Redis
解决redis批量删除key值的问题
Mar 23 Redis
redis调用二维码时的不断刷新排查分析
Apr 01 Redis
Redis 限流器
May 15 Redis
Redis实现主从复制方式(Master&Slave)
Jun 21 Redis
如何使用注解方式实现 Redis 分布式锁
Jul 23 Redis
Redis主从复制操作和配置详情
Sep 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
文章推荐系统(三)
2006/10/09 PHP
php数组查找函数in_array()、array_search()、array_key_exists()使用实例
2014/04/29 PHP
Yii框架参数化查询中IN查询只能查询一个的解决方法
2017/05/20 PHP
PHP实现转盘抽奖算法分享
2020/04/15 PHP
JS 常用校验函数
2009/03/26 Javascript
js作用域及作用域链概念理解及使用
2013/04/15 Javascript
js 将json字符串转换为json对象的方法解析
2013/11/13 Javascript
JavaScript保留两位小数的2个自定义函数
2014/05/05 Javascript
jquery操作checked属性以及disabled属性的多种方法
2014/06/20 Javascript
javascript实现3D变换的立体圆圈实例
2015/08/06 Javascript
巧用canvas
2017/01/21 Javascript
用Nodejs搭建服务器访问html、css、JS等静态资源文件
2017/04/28 NodeJs
Vue 滚动行为的具体使用方法
2017/09/13 Javascript
vue绑定的点击事件阻止冒泡的实例
2018/02/08 Javascript
vue引入微信sdk 实现分享朋友圈获取地理位置功能
2019/07/04 Javascript
Node.js API详解之 readline模块用法详解
2020/05/22 Javascript
vue实现简单计算商品价格
2020/09/14 Javascript
python控制台英汉汉英电子词典
2020/04/23 Python
详解字典树Trie结构及其Python代码实现
2016/06/03 Python
python2与python3共存问题的解决方法
2018/09/18 Python
Django用户认证系统 组与权限解析
2019/08/02 Python
在PyTorch中Tensor的查找和筛选例子
2019/08/18 Python
python 普通克里金(Kriging)法的实现
2019/12/19 Python
使用npy转image图像并保存的实例
2020/07/01 Python
Django restful framework生成API文档过程详解
2020/11/12 Python
Django数据统计功能count()的使用
2020/11/30 Python
Python 转移文件至云对象存储的方法
2021/02/07 Python
鞋子女王塔玛拉·梅隆同名奢侈品牌:Tamara Mellon
2017/11/22 全球购物
护士演讲稿优秀范文
2014/04/30 职场文书
人事任命书范文
2014/06/04 职场文书
2019预备党员转正申请书模板2篇!
2019/08/07 职场文书
python自动化调用百度api解决验证码
2021/04/13 Python
如何在C++中调用Python
2021/05/21 Python
python 中yaml文件用法大全
2021/07/04 Python
《巫师》是美食游戏?CDPR10月将推出《巫师》官方食谱
2022/04/03 其他游戏
浅谈css清除浮动(clearfix和clear)的用法
2023/05/21 HTML / CSS