Redis集群_主从复制

news2024/12/26 10:34:50

Redis集群基本概念

  • 在实际项目中,一般不会只在一台机器上部署redis服务器,因为单台redis服务器不能满足高并发的压力,另外如果该服务器或者redis失效,整个系统就可能崩溃
  • 项目里一般会用主从复制的模式来提升性能,用集群模式来提升吞吐量并提升可用性

基于主从复制模式的集群

  • 在出从复制模式的集群里,主节点一般是一个,从节点一般是两个或者多个,写入主节点的数据会被复制到从节点上,这样一旦主节点出现故障,应用系统就能切换到从节点去读写数据,从而提升系统的可用性
  • 在采用主从复制模式里默认的读写分离机制,就能提升系统的缓存读写性能
  • 在实际应用中,如果有相应的设置,在向一台redis服务器里写数据后,这个数据可以复制到另一台(或多台)redis服务器,这里数据源叫主服务器(master),复制数据目的地的服务器叫从服务器(slave)

主从复制模式的优势

  • 可以把写操作集中到主服务器上,读操作集中到从服务器上,提升读写性能
  • 由于出现了数据备份,因此能提升数据的安全性

在这里插入图片描述

主从复制模式集群实操

1.用命令搭建主从集群

这里用docker容器搭建一主二从的集群,在配置主从关系时,需要在从节点上使用slaveof命令

1.1创建主节点
docker run -itd --name redis-master -p 6379:6379 redis:latest
1.2创建从节点

这里因为在一台机器上,所以需要配置不同的端口

docker run -itd --name redis-slave1 -p 6380:6380 redis:latest

获取容器的ip

docker inspect redis-master|grep IPAddress
[root@localhost ~]# docker inspect redis-master|grep IPAddress
            "SecondaryIPAddresses": null,
            "IPAddress": "172.17.0.2",
                    "IPAddress": "172.17.0.2",

进入主节点容器

docker exec -it redis-master /bin/bash

连接redis

redis-cli

查看主从关系

127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:0
master_failover_state:no-failover
master_replid:dfbc81120a9de962ff09133c757d50239238955a
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:0
second_repl_offset:-1
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

进入从节点

docker exec -it redis-slave1 /bin/bash

连接redis

redis-cli

使用slaveof配置从属关系

这里的ip 端口就是主节点的ip 端口

127.0.0.1:6379> slaveof 172.17.0.2 6379
OK

查看主从关系

在这里插入图片描述

另一个从节点和以上操作一样,注意端口

2.通过配置搭建主从集群

创建主节点容器

docker run -itd --name redis-master -p 6379:6379 redis:latest

准备redis-slave1和redis-slave2配置文件

在这里插入图片描述

其中主要的配置是:

slaveof 127.12.0.2 6379

创建从节点一的容器

docker run -itd --name redis-slave1 -v /root/redis/redis-slave1/redis.conf:/redisConfig/redisSlave1.conf -p 6380:6380 redis:latest redis-server /redisConfig/redisSlave1.conf

进入从节点一容器

docker exec -it redis-slave1 /bin/bash

连接redis并查看从属关系

root@f4cfaf03ffec:/data# redis-cli
127.0.0.1:6379> info replication
# Replication
role:slave
master_host:172.17.0.2
master_port:6379
master_link_status:up
master_last_io_seconds_ago:3
master_sync_in_progress:0
slave_repl_offset:266
slave_priority:100
slave_read_only:1
connected_slaves:0
master_failover_state:no-failover
master_replid:1a8171720b8f1ebeb04c72020a2f05152f92006b
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:266
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:266

从节点二创建也和上面类似,注意端口和配置即可

3.测试

在主节点上创建几个值

在这里插入图片描述

连接从节点进行查询

127.0.0.1:6379> get name
"yohoo"
127.0.0.1:6379> get age
"26"

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

“精装朋友圈”的年轻人,开始在40度高温买羽绒服

文 | 螳螂观察 作者 | 如意 人生一世,苦了自己也不能苦朋友圈。 这届的年轻人,无论人生有多“毛坯”,都有一个一生要强的朋友圈,而且“装修”朋友圈还有一套哲学,信奉图片精修,排版讲究,文案…

OpenAI o1 Review 大模型PHD水平数理推理能力 OpenAI o1 vs GPT4o vs Gemini vs Claude

1. 介绍 OpenAI昨天发布了o1推理优化的大模型,利用了CoT (Chain of Thought) 思维链推理机制,提升了针对数学/物理/编程/逻辑等复杂问题的推理能力。OpenAI官方网站评测 OpenAI o1大模型对比GPT4o的数学、编程能力有显著提升。我们利用DeepNLP的AI Stor…

2024.9.13 Python与图像处理新国大EE5731课程大作业,SIFT 特征和描述符,单应性矩阵透视变换

1.SIFT特征点和描述符 import cv2 import numpy as np import matplotlib.pyplot as plt # read image img cv2.imread(im01.jpg,cv2.IMREAD_COLOR) gray cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) plt.imshow(gray,plt.cm.gray)提取图片,以灰度图像输出 #SIFT sift…

【免费分享】OpenHarmony鸿蒙物联网开发板资料包一网打尽,附教程/视频/项目/源码...

想要深入学习鸿蒙设备开发及鸿蒙物联网开发吗?现在机会来了!我们为初学者们准备了一份全面的资料包,包括原理图、教程、视频、项目、源码等,所有资料全部免费领取,课程视频可试看(购买后看完整版&#xff0…

带你深入了解C语言指针(二)

目录 前言一、数组名的理解二、使用指针访问数组三、⼀维数组传参的本质四、冒泡排序五、二级指针六、指针数组七、 指针数组模拟⼆维数组总结 前言 前面我们基本了解了C语言指针的概念,也初步开启了指针的用处,这期我们主要围绕数 组展开,也…

学生请假管理系统

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 学生请假管理系统拥有两种角色 管理员:班级管理、课程管理、学生管理、审核请假信息、导出请假单 学生:填写请假单、查看请假审核情况 1.1 背景描述 学生请假管…

GIS应届生不考研,不考公,不考编,未来要怎么安排?

01 考公考研or就业 一直以来,大学生毕业去向的话题就居高不下。 近日,便有“不考研不考公,未来要怎么样?”的话题,出现在某社交媒体热榜,迅速引起54.5万人围观。 国内本科毕业后大学生的出路无外乎&…

什么空气净化器可以除猫毛?范罗士、希喂、小米、IAM、安德迈横测谁是毛克星

秋季掉毛季来咯,每入掉毛季,我们医院鱼油销量都暴涨。都是被家里猫猫、狗狗掉毛折腾得没办法了,想喂点鱼油,减少点掉毛。鱼油含有丰富的Ω-3,能够调节皮脂分泌,减轻炎症反应。平时喂点对宠物身体是有好处的…

矩阵引流助手有试用吗

矩阵引流助手有试用吗 还在为内容和流量曝光发愁吗?来了解一下矩阵工具让你事半功倍 #矩阵工具 #矩阵管理 #矩阵引流 推荐阅读: 短视频代运营代发 短视频代运营代发帖https://www.bsw80.com/post/111.html 抖音通过矩阵获客,我告诉大家新上…

Qt/C++ 了解NTFS文件系统,解析盘符引导扇区数据获取MFT(Master File Table)主文件表偏移地址

系列文章目录 一、Qt/C 了解NTFS文件系统,了解MFT(Master File Table)主文件表(一) 二、Qt/C 了解NTFS文件系统,解析盘符引导扇区数据获取MFT(Master File Table)主文件表偏移地址 目录导读 系列文章目录前言BOOTICE工具介绍读取…

防止文件外发泄密有什么方法?这7防外发方式可以看下!

防止文件外发泄密有什么方法? 一、使用防泄密软件外发:可对发送的文件进行权限设定。接收:可查看次数、可查看时间复制、修改、打印、外发受到限制。文件外发控制:以对外发的文件进行权限设定,如可打开的次数、可打开时…

基于JavaWeb开发的java ssm springboot+VUE疫情防疫系统系统前后端分离设计和实现

基于JavaWeb开发的java ssm springbootVUE疫情防疫系统系统前后端分离设计和实现 🍅 作者主页 网顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 🍅 查看下方微信号获取…

【深度学习】【OnnxRuntime】【Python】模型转化、环境搭建以及模型部署的详细教程

【深度学习】【OnnxRuntime】【Python】模型转化、环境搭建以及模型部署的详细教程 提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论 文章目录 【深度学习】【OnnxRuntime】【Python】模型转化、环境搭建以及模型部署的详细教程前言模型转换--pytorch转on…

文件系统(磁盘 磁盘文件 inode)

文章目录 磁盘看看物理磁盘磁盘的存储结构 对磁盘的储存进行逻辑抽象inode号文件名 -> inode判断文件在哪个分区 磁盘 电脑中存在非常多的文件,被打开的文件只是少量的。 没有被打开的文件,在磁盘中放着,那么文件是如何存取? …

Unity 之 【Android Unity FBO渲染】之 [Unity 渲染 Android 端播放的视频] 的一种方法简单整理

Unity 之 【Android Unity FBO渲染】之 [Unity 渲染 Android 端播放的视频] 的一种方法简单整理 目录 Unity 之 【Android Unity FBO渲染】之 [Unity 渲染 Android 端播放的视频] 的一种方法简单整理 一、简单介绍 二、FBO 简单介绍 三、案例实现原理 四、注意事项 五、简…

深度盘点PLM 项目管理系统哪家强?优缺点一目了然!

本文将盘点10款知名的PLM 项目管理系统,为企业选型提供参考! 想象一下,在一个企业的产品研发过程中,各种数据、文档四处散落,不同部门之间沟通不畅,项目进度难以把控。这时,PLM 项目管理系统就如…

在线压缩图片地址

https://squoosh.app/editor这个是免费的,并且不限制图片数量 https://tinypng.com/ 这个限制图片的大小,如果单张图片超过5M需要收费 https://www.jpeg-optimizer.com/ https://imagecompressor.com/

再次进阶 舞台王者 第八季完美童模全球赛形象大使【于洪森】赛场秀场超燃合集!

7月20-23日,2024第八季完美童模全球总决赛在青岛圆满落幕。在盛大的颁奖典礼上,一位才能出众的少年——于洪森,迎来了他舞台生涯的璀璨时刻。 形象大使——于洪森,以璀璨童星之姿,优雅地踏上完美童模盛宴的绚丽舞台&am…

WPF实现Hammer 3D入门学习

代码下载:https://download.csdn.net/download/bjhtgy/89748674

springboot Web基础开发

Spring Boot 是一个用于简化 Spring 应用开发的框架,它通过自动配置和开箱即用的功能,使得创建和部署 Spring 应用变得更为高效。以下是 Spring Boot 基础 Web 开发的一些关键点和实操总结: 1. 项目搭建 使用 Spring Initializr: 访问 Spring…