文章目录

  • 前言
  • 一、Redis主从复制配置
    • 1.1.配置文件redis_master.conf,redis_slave.conf
    • 1.2.启动服务
    • 1.3.检查成果
  • 二、Redis集群配置
    • 2.1.服务器40.240.34.91集群配置
    • 2.2.其它服务器xxx.92,xxx.93集群配置
    • 2.3.启动服务
    • 2.3.启动集群服务
    • 2.4.检查成果
  • 三、优劣
  • 四、结束

前言

提示:本文主讲两种redis数据同步形式,1.主从复制配置 2.集群配置

一、Redis主从复制配置

假设只有一台服务器,配置主从结构, 服务器IP为40.240.34.91

1.1.配置文件redis_master.conf,redis_slave.conf

  • 主节点,端口6379
# 服务端口
port 6379
# 守护进程模式运行
daemonize yes
# pid文件、日志文件
pidfile /home/xx_user/redis-7.2.8_install/redis_6379.pid
logfile redis_6379.log
dir ./
# 设置从节点只读
replica-read-only yes
# 持久化配置
appendonly no  # 持久化,生产可设值yes
protected-mode yes  # 外部访问,生产环境可设值no,密码访问
bind 0.0.0.0 -::1  # 所有IP可连接,也有如配置bind 0.0.0.0
  • 从节点,端口6380
# 服务端口
port 6380
# 守护进程模式运行
daemonize yes
# pid文件、日志文件
pidfile /home/xx_user/redis-7.2.8_install/redis_6380.pid
logfile redis_6380.log
dir ./
# 设置从节点只读
replica-read-only yes
# 绑定主从节点从属关系(集群模式非此形式绑定关系,这行要注释掉)
replicaof 127.0.0.1 6379
# 持久化配置
appendonly no  # 持久化,生产可设值yes
protected-mode yes  # 外部访问,生产环境可设值no,密码访问
bind 0.0.0.0 -::1  # 所有IP可连接,也有如配置bind 0.0.0.0

1.2.启动服务

# 启动主节点服务
/home/xx_user/redis-7.2.8_install/bin/redis-server redis_master.conf
# 启动从节点服务
/home/xx_user/redis-7.2.8_install/bin/redis-server redis_slave.conf

1.3.检查成果

->redis-cli -h 40.240.34.91 -p 6379|6380
# 节点状态
info replication
# 补充一个只是知识点,当在配置文件中忘记绑定从属关系,可以在进入redis服务后使用命令replicaof 127.0.0.1 6379重新绑定# 关停主节点服务
redis-cli -p 6379 shutdown

二、Redis集群配置

假设有三台服务器,配置3主3从集群机构, 服务器IP为40.240.34.91, 40.240.34.92, 40.240.34.93

2.1.服务器40.240.34.91集群配置

  • 主节点,端口6379
# **redis_master.conf**# 服务端口
port 6379
# 守护进程模式运行
daemonize yes
# pid文件、日志文件
pidfile /home/xx_user/redis-7.2.8_install/redis_6379.pid
logfile redis_6379.log
dir ./
# 设置从节点只读
replica-read-only yes
# 持久化配置
appendonly no  # 持久化,生产可设值yes
protected-mode yes  # 外部访问,生产环境可设值no,密码访问
bind 0.0.0.0 -::1  # 所有IP可连接,也有如配置bind 0.0.0.0
# 集群模式(主从复制配置,不需要开启集群模式)
cluster-enabled yes  # 集群模式(yes开启no关闭)
cluster-config-file nodes-6379.conf  # 集群节点配置文件
cluster-node-timeout 5000  # 节点超时时间
  • 从节点,端口6380
# **redis_slave.conf**# 服务端口
port 6380
# 守护进程模式运行
daemonize yes
# pid文件、日志文件
pidfile /home/xx_user/redis-7.2.8_install/redis_6380.pid
logfile redis_6380.log
dir ./
# 设置从节点只读
replica-read-only yes
# 绑定主从节点从属关系(集群模式非此形式绑定关系,这行要注释掉)
# replicaof 127.0.0.1 6379# 持久化配置
appendonly no  # 持久化,生产可设值yes
protected-mode yes  # 外部访问,生产环境可设值no,密码访问
bind 0.0.0.0 -::1  # 所有IP可连接,也有如配置bind 0.0.0.0
# 集群模式(主从复制配置,不需要开启集群模式)
cluster-enabled yes  # 集群模式(yes开启no关闭)
cluster-config-file nodes-6379.conf  # 集群节点配置文件
cluster-node-timeout 5000  # 节点超时时间

2.2.其它服务器xxx.92,xxx.93集群配置

将40.240.34.91的文件redis_master.conf, redis_slave.conf分别复制到服务器xxx.92, xxx.93上,注意文件路径,机器host可能不一致

2.3.启动服务

# 服务器40.240.34.91的主从服务
/home/xx_user/redis-7.2.8_install/bin/redis-server redis_master.conf
/home/xx_user/redis-7.2.8_install/bin/redis-server redis_slave.conf
# 服务器40.240.34.92的主从服务
/home/xx_user/redis-7.2.8_install/bin/redis-server redis_master.conf
/home/xx_user/redis-7.2.8_install/bin/redis-server redis_slave.conf
# 服务器40.240.34.93的主从服务
/home/xx_user/redis-7.2.8_install/bin/redis-server redis_master.conf
/home/xx_user/redis-7.2.8_install/bin/redis-server redis_slave.conf

2.3.启动集群服务

# 创建集群时自动分配主从关系(前三个是主节点,后三个是从节点)
# --cluster-replicas 1 表示每个主节点有 1 个从节点,集群会自动分配主从关系
redis-cli --cluster create 40.240.34.91:6379 40.240.34.92:6379 40.240.34.93:6379 40.240.34.91:6380 40.240.34.92:6380 40.240.34.93:6380 --cluster-replicas 1
# 手动添加从节点到指定主节点
redis-cli --cluster add-node 127.0.0.1:6381 127.0.0.1:6382 --cluster-slave --cluster-master-id 127.0.0.1:6379

2.4.检查成果

# -c代表集群模式,-a代表密码
->redis-cli -h 40.240.34.91 -p 6380 -a passwd -c 
# 集群状态
cluster info
# 检查集群
redis-cli -a passwd --cluster check 40.240.34.91:6379

三、优劣

模式配置方式使用场景
集群cluster-enabled yes + redis-cli --cluster create高可用、自动分片
主从复制cluster-enabled no + replicaof简单的主从备份

如果你的目标是 高可用集群,应该用 Redis Cluster,让集群自动管理主从关系;
如果只是 单机主从备份,就用 主从复制,手动配置 replicaof !

四、结束

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/88135.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/88135.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/88135.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ORA-600 kokiasg1故障分析---惜分飞

故障总结:客户正常关闭数据库,然后启动报ORA-600 kokiasg1错误,通过对启动分析确认是由于IDGEN1$序列丢失导致,修复该故障之后,数据库启动成功,但是后台大量报ORA-600 12803,ORA-600 15264等错误,业务用户无法登录.经过深入分析,发现数据库字典obj$中所有核心字典的序列全部被删…

[RPA] 影刀RPA基本知识

1.应用的构成一个应用:由多条指令叠加组成一条指令代表了一个操作动作许多条指令按照一定的逻辑关系编排起来,就构成了一个应用(这里的应用可理解为软件机器人RPA)一个应用 多个自动化指令的集合 2. 指令的一般构成在XXX对象上,对XXX元素执行…

pytest中测试特定接口

在pytest中只测试特定接口有以下几种常用方法: 1. 通过测试函数名精确匹配 直接指定测试文件和函数名: pytest test_api.py::test_upload_image_with_library这将只运行test_api.py文件中名为test_upload_image_with_library的测试函数。 2. 使用关键字匹…

HMI图形渲染优化:OpenGL ES与Vulkan的性能对比实战

HMI 图形渲染优化:OpenGL ES 与 Vulkan 的性能对比实战**摘要想让 HMI 界面的图形渲染又快又流畅,却在 OpenGL ES 和 Vulkan 之间纠结不已!用 OpenGL ES,担心性能不够强劲,无法满足复杂场景需求;选 Vulkan&…

Python数据分析基础01:描述性统计分析

下一篇: 《Python数据分析基础04:预测性数据分析》 《Python数据分析基础03:探索性数据分析》 《python数据分析基础02:数据可视化分析》 《Python数据分析基础01:描述性统计分析》 描述性统计分析是统计学中最基…

成员不更新项目进度,如何建立进度更新机制

项目成员不及时更新进度的主要原因包括责任不明确、缺乏更新规则、沟通机制不畅、进度意识薄弱、工具使用不当等。其中尤其需要关注的是建立清晰的进度更新规则。明确规定成员应何时、如何、向谁汇报进度情况,使得项目的每项任务都有责任人和明确的更新频率及形式&a…

JVM 整体架构详解:线程私有与线程共享内存区域划分

Java 虚拟机(JVM)作为 Java 程序运行的基础,其内存模型和线程结构设计直接影响着程序的执行效率和稳定性。本文将从 线程是否共享 的角度出发,对 JVM 的整体内存结构进行清晰分类与简明解析。一、JVM 内存区域划分概览 根据是否被…

【Linux庖丁解牛】— 库的理解与加载!

1. 目标文件编译和链接这两个步骤,在Windows下被我们的IDE封装的很完美,我们⼀般都是⼀键构建⾮常⽅便, 但⼀旦遇到错误的时候呢,尤其是链接相关的错误,很多⼈就束⼿⽆策了。在Linux下,我们之前也学 习过如…

QML事件处理:鼠标、拖拽与键盘事件

在QML应用开发中,用户交互是构建动态界面的核心。本文将全面解析QML中的三大交互事件:鼠标事件、拖拽事件和键盘事件,通过实际代码示例展示如何实现丰富的用户交互体验。一、鼠标事件处理1. MouseArea基础MouseArea是QML中处理鼠标交互的核心…

MySQL 8.0 OCP 1Z0-908 题目解析(20)

题目77 Choose the best answer. Which step or set of steps can be used to rotate the error log? ○ A) Execute SET GLOBAL max_error_count . ○ B) Rename the error log file on disk, and then execute FLUSH ERROR LOGS. ○ C) Execute SET GLOBAL log_error ‘’…

八股学习(四)---MySQL

一、MySQL如何进行SQL调优?我的回答:面试官好!我想从SQL语句本身和数据库结构两方面来做MySQL的SQL调优。首先会优化SQL写法,比如避免用SELECT *、减少子查询嵌套,用JOIN代替,还有合理使用索引,…

华中科大首创DNN衍射量子芯片登《Science Advances》:3D打印实现160μm³高维逻辑门

01 前言华中科技大学王健/刘骏团队在《Science Advances》发表突破性研究,利用飞秒激光三维打印技术,制造出全球首个聚合物基超紧凑高维量子光芯片。该芯片仅160微米见方(约头发丝直径的1.5倍),却实现了光子空间模式的…

【排序】插入排序

如果你已经对排序略知一二,现在正在复习排序的一些重点知识 ------------------------------------------------------------------------------------------------------------------------- 点赞收藏🌈,每天更新总结文章(多以图…

扣子Coze怎么模仿人类输出(分段输出)?

效果: 让AI回复的更像人类 教程: 工作流: 假设大模型节点就是需要的回复,并且已经按句号(。)区别开每句话 后面连接一个 文本处理 节点,选择“字符串分隔”,按“。”进行分割 分…

Android 应用开发 | 一种限制拷贝速率解决因 IO 过高导致系统卡顿的方法

文章目录一、问题背景二、代码实现一、问题背景 经常做 Android 应用的小伙伴应该会有经验,就是如果应用在写入文件的时候,即使写文件的动作是在子线程,也会出现 UI 上的卡顿,这是因为文件的 IO 是由内核去完成的,此时…

力扣面试150(19/150)

7.7 12. 整数转罗马数字 七个不同的符号代表罗马数字,其值如下: 符号值I1V5X10L50C100D500M1000 罗马数字是通过添加从最高到最低的小数位值的转换而形成的。将小数位值转换为罗马数字有以下规则: 如果该值不是以 4 或 9 开头,…

数据结构与算法——从递归入手一维动态规划【1】

前言: 简单记录对左程云系列算法课程--算法讲解066【必备】的学习,这是第一篇。主要提供C代码和一些简单的个人理解,如需要细致讲解请移步原视频。 涉及内容: 斐波那契数列、动态规划 参考视频: 左程云--算法讲解…

搭建个人博客系列--Nacos 注册中心

基础项目已完成,接下来就是SpringCloud的各种组件了。 那你又要问:既然有Nacos为什么之前还装了Apollo? 那你别管,那不得什么都会点,不然怎么找工作。干就完了。 一、安装Nacos 管他三七二十一,先在doc…

前端实习总结——案例与大纲

以下是一个结合真实场景的前端面试案例,包含面试流程、核心问题、候选人回答思路及面试官考察点,可直观感受如何在面试中展现实习/项目经历: 案例背景 候选人:应届生,有6个月前端实习经历,参与过“企业内部…

Web前端开发: :where(伪类函数选择器)

:where(伪类函数选择器)::where() 是 CSS Selectors Level 4 规范中引入的一个强大的伪类函数选择器,它允许开发者以简洁的方式编写复杂的选择器,同时具有独特的优先级特性。核心概念::where() 伪类函数选择器与 :is() 非常相似&a…