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集群方案
Jun 21 Redis
Redis Cluster集群动态扩容的实现
Jul 15 Redis
浅谈redis整数集为什么不能降级
Jul 25 Redis
基于Redis的List实现特价商品列表功能
Aug 30 Redis
聊聊redis-dump工具安装问题
Jan 18 Redis
解决redis批量删除key值的问题
Mar 23 Redis
redis 解决库存并发问题实现数量控制
Apr 08 Redis
Redis特殊数据类型bitmap位图
Jun 01 Redis
Redis基本数据类型Zset有序集合常用操作
Jun 01 Redis
Redis唯一ID生成器的实现
Jul 07 Redis
Redis实战之Lettuce的使用技巧详解
Dec 24 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网页后退不再出现过期
2007/03/08 PHP
PHP下使用CURL方式POST数据至API接口的代码
2013/02/14 PHP
PHP数组排序函数合集 以及它们之间的联系分析
2013/06/27 PHP
ThinkPHP中where()使用方法详解
2016/04/19 PHP
让你的PHP7更快之Hugepage用法分析
2016/05/31 PHP
Laravel框架生命周期与原理分析
2018/06/12 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
2019/11/14 PHP
JavaScript使用addEventListener添加事件监听用法实例
2015/06/01 Javascript
javascript实现输出指定行数正方形图案的方法
2015/08/03 Javascript
用JavaScript实现PHP的urlencode与urldecode函数
2015/08/13 Javascript
jquery地址栏链接与a标签链接匹配之特效代码总结
2015/08/24 Javascript
JS基于面向对象实现的拖拽库实例
2015/09/24 Javascript
JS实现问卷星自动填问卷脚本并在两秒自动提交功能
2020/06/17 Javascript
vue父组件向子组件动态传值的两种方法
2017/11/11 Javascript
Koa2微信公众号开发之消息管理
2018/05/16 Javascript
layui 弹出删除确认界面的实例
2019/09/06 Javascript
Vue v-model组件封装(类似弹窗组件)
2020/01/08 Javascript
一分钟学会JavaScript中的try-catch
2020/12/14 Javascript
vue 动态添加的路由页面刷新时失效的原因及解决方案
2021/02/26 Vue.js
用TensorFlow实现lasso回归和岭回归算法的示例
2018/05/02 Python
Python数据可视化:顶级绘图库plotly详解
2019/12/07 Python
python模拟哔哩哔哩滑块登入验证的实现
2020/04/24 Python
Python GUI之tkinter窗口视窗教程大集合(推荐)
2020/10/20 Python
使用Python解析Chrome浏览器书签的示例
2020/11/13 Python
StubHub哥伦比亚:购买和出售您的门票
2016/10/20 全球购物
Topman美国官网:英国著名的国际平价时尚男装品牌
2017/12/22 全球购物
三星新西兰官网:Samsung新西兰
2019/03/05 全球购物
精致的手工皮鞋:Shoe Embassy
2019/11/08 全球购物
岗位职责的定义
2013/11/10 职场文书
奶茶专卖店创业计划书
2014/01/18 职场文书
廉洁校园实施方案
2014/05/25 职场文书
上甘岭观后感
2015/06/10 职场文书
MySQL基础(一)
2021/04/05 MySQL
python 详解turtle画爱心代码
2022/02/15 Python
python标准库ElementTree处理xml
2022/05/20 Python