NOsql数据库Redis

news2024/9/25 19:22:02

关系型数据库和 NoSQL 数据库

Redis的源码安装

编译

vim /etc/redis/6379.conf

bind改成* -::* 

关闭protected模式

Redis 主从复制

主从同步过程

环境配置

redis-node1 master

redis-node2 slave1

redis-node3 slave2

slave中配置

vim /etc/redis/6379.conf

master中操作

slave中查看master的操作

Redis的哨兵(高可用)

三台开启哨兵模式,这里可知10为master

将10手动shutdown

20 30开始投票,认为10已经挂掉,并且选举30为新的master

远程连接30主机,看到只有一台slave

在10开启redis

此时看到30的slave数量为2

恢复10为master

在整个架构中可能会出现的问题

Redis Cluster(无中心化设计)

Redis Cluster 工作原理

在哨兵sentinel机制中,可以解决redis高可用问题,即当master故障后可以自动将slave提升为master, 从而可以保证redis服务的正常使用,但是无法解决redis单机写入的瓶颈问题,即单机redis写入性能受 限于单机的内存大小、并发数量、网卡速率等因素。

redis 3.0版本之后推出了无中心架构的redis cluster机制,在无中心的redis集群当中,其每个节点保存 当前节点数据和整个集群状态,每个节点都和其他所有节点连接

这里我们采用三主(10 20 30)三从(110 120 130)

首先我们需要保证一个纯净的实验环境,下载redis

用123456进行验证 这里还不能创建用户

将已经node1已经编辑好的文件拷贝到其他主机

多台主机一起操作,查看6379端口已经开启

创建redis-cluster

设定主备,并分配哈希槽

这里看id可知

10(master)对应120(slave)

20(master)对应130(slave)

30(master)对应110(slave)

这个是随机分配的

检测redis集群状态

此时我们想创建用户,系统告诉我们哈希槽落在20主机上

那么我们来20主机上创建用户

集群扩容

这里我们做4主4从,添加40和140主机

将node2编辑好的文件复制到40和140主机

redis-cli -a 123456 --cluster add-node 172.25.254.40:6379 172.25.254.20:6379

将40主机加入到20所在的哈希槽中

check时看到40已经已经加入组,虽然是master但是(0 slots),说明不能存储数据,所以我们需要划分哈希槽位

这里我们将所有主机划分4096个槽位

此时我们看到40已经拥有自己的槽位

我们再将140作为备加入组

check看到140已经加入,且与40互为主备

clsuter集群维护(集群删除)

这里140我们直接用 redis-cli -a 123456 --cluster del-node 172.25.254.140:6379 加id即可删除

但是40有槽位,所以我们需要先划分槽位再删除

node1为40的id,这里我们直接将40的槽位都给20

看到40没有槽位,20槽位翻倍,我们再删除40

记录一下我们八台虚拟机同时开

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

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

相关文章

设计模式25-访问器模式

设计模式25-访问器模式 访问者模式的动机定义与结构定义结构访问者模式概述结构图解析总结 C代码推导原理代码实例代码 优缺点应用总结 访问者模式的动机 在软件构建过程中,由于需求的改变,某些类层次结构中常常需要增加新的行为方法。此时如果直接在基…

169页PPT丨城投公司战略规划之产业投资商规划

一、规划背景与目标随着经济的不断发展和市场环境的变化,麦肯新城投公司致力于从传统的城市建设主体向产业投资商转型,以实现可持续发展和提升区域经济活力。 目标:在未来5年内,成为具有核心竞争力和广泛影响力的产业投资商&…

Hadoop: Mapreduce了解

目录 1.MapReduce概述 2.MapReduce的基本工作原理 2.1.Map阶段 2.1.1.Map源码解析 2.1.2.map端代码总结 2.2.Shuffle and Sort阶段 2.3.Reduce阶段 2.3.1.Reduce源码解析 2.3.2.Reduce端源码总结 3.数据流与任务执行 3.1.数据输入与输出格式 3.1.1.TextInputFormat…

【公共科目】简单概率问题

问:在人寿保险事业中,很重视某一年龄段的投保人的死亡率,计入每个投保人能活到65的概率为0.6,问3个投保人中有2个人活到65岁的概率是多少? A 0.126 B 0.388 C 0.432【正确答案】 D 0.534 首先看到这道题,很感慨能活到…

redis分布式是如何实现的(面试版)

需要结合项目中的业务进行回答,通常情况下,分布式锁使用的场景: 集群情况下的定时任务、抢单、幂等性场景。 下面先来看一个抢卷场景: 以下情况会出现超卖情况: 因为线程会交替执行,所以线程查询优惠价的…

学习C语言(18)

整理今天的学习内容 1.strcmp的使用和模拟实现 strcmp是用来比较字符串的大小的 比较方式:比较两个字符串中对应位置上字符ASCII码值的⼤小 第⼀个字符串大于第二个字符串,则返回⼤于0的数字 第⼀个字符串等于第二个字符串,则返回0 第⼀…

Mac M1 Max配置torch-geometric等深度学习库

前提:此电脑中已经安装好了Anaconda环境 (一)查看创建的虚拟环境中torch的版本 import torch torch.__version__(二)针对安装的 torch 版本,去官网下载torch-geometric 依赖的对应版本 torch-sparse、tor…

OpenMax算法详解:深度学习中的高效开集识别技术

OpenMax算法详解:深度学习中的高效开集识别技术 在深度学习领域,模型的识别能力往往受限于其训练数据集的范畴。传统的分类模型,如卷积神经网络(CNN)或循环神经网络(RNN),通常被设计…

《大道平渊》· 拾捌 —— 证明自己,本身就毫无意义。

《大道平渊》 我在任何时候都会保持最轻松的状态,选择最舒适的态度和动作。 我在与人交谈时,无论何时何地,都会像在家里躺着和挚友交谈一样轻松。 我总是悠然自若,因为我深知自己的过度表现,只会给人留下怪异的印象。…

django学习入门系列之第十点《django的快速上手》

文章目录 快速上手app注册【settings.py】编写URL和视图的对应关系【urls.py】编写视图函数【views.py】启动django启动网页静态文件路径修改 往期回顾 快速上手 app注册【settings.py】 注意,创建了不代表注册了 操作,在settings里面添加这个 # 一…

002、架构_详解(重点)

GoldenDB 分布式数据库框架 DN和RDB增加了备节点;引入新模块CM,且GTM、MDS、PM、CM都增加备节点;MDS、PM、CM、RDB被统一在了管理节点之中;GTM和MDS间多了一条连线,因为GTM的切换由MDS把控;初步系统架构mysqld:一般称为DB节点,负责单个节点的数据处理; dbproxy:一般…

新手该如何选择与小程序定位相关的关键词

关键词的优化是提高小程序排名的关键步骤之一,所以如何选择与小程序定位相关的关键词是一个很重要的过程,需要考虑多个因素以确保关键词既符合小程序的业务特性,又能吸引目标用户。以下是一些具体的步骤和建议: 1. 深入了解小程序…

<WPF> logic tree 和 visual tree 到依赖属性和路由事件--烂尾睡觉

logic tree 逻辑树通常与 XAML 文件中的元素直接对应。The logical tree comprises the elements as they are listed in the XAML. 用途: 数据绑定:逻辑树用于数据绑定机制,帮助控件获取其父级的属性或数据上下文。事件处理&…

Telnet详解与应用——从原理到实战模拟

1. 引言 在现代网络管理中,远程访问和控制设备的能力至关重要。Telnet是一种经典的远程访问协议,尽管在安全性方面逐渐被SSH等更现代化的协议取代,但其在早期网络管理中的广泛使用使其成为网络工程师的基本技能之一。本文将深入探讨Telnet的…

Shader 透明相关

1、设置深度写入与渲染队列 深度写入 深度写入默认是开启,需要通过渲染状态中的 ZWrite off 指令主动关闭深度写入 当我们把它写在Pass渲染通道中时,它只会影响该Pass 若我们把它写在SubShader语句块中,它将影响其中的所有Pass …

Dubbo负载均衡的5种策略及适用场景

Dubbo负载均衡的5种策略及适用场景 1. Random LoadBalance(默认)2. RoundRobin LoadBalance3. LeastActive LoadBalance4. ConsistentHash LoadBalance 💖The Begin💖点点关注,收藏不迷路💖 Dubbo为优化服务…

Web攻防之应急响应(一)

目录 1. 前言 2. 靶场准备 3. 应急场景 4. 应急实战 4.1 查看服务器开放端口 4.2 通过远程链接工具连接服务器 4.3 寻找中间件日志 4.4. 查看并下载日志 4.5 初步分析日志 4.6 查看安全分析报告 4.6 从被篡改的页面开始 4.6 通过修改的文件时间进一步分析日志信息 4.…

零基础学PLC的指令-位逻辑指令(1)

1、常开触点: 它是一个逻辑开关,可以理解为是电气控制图中的常开按钮,这个逻辑开关是否接通是受寻址的结果而决定的,若I0.0(按位寻址)的寻址结果为“1”,这个逻辑开关就会导通,若寻…

2.2.2 Posix API与网络协议栈 3

3 断开连接 四次挥手 不分客户端,服务器,只分主动方和被动方 主:tcp包里fin这一位 置1被:回,ack这一位 置1被: fin1主:ack1 与posix api关系,调用了close() ,不是网络…

数据库mysql集群主从、高可用MGR、MHA技术详解

一、安装数据库mysql步骤 环境:红帽7.9系统 安装依赖 yum install cmake gcc-c openssl-devel ncurses-devel.x86_64 libtirpc-devel-1.3.3-8.el9_4.x86_64.rpm rpcgen.x86_64 -y 将下载的MySQL软件包解压并cd到mysql的目录下 [rootmysql-node10 ~]# tar zxf mysq…