Redis 群集部署
1.关系型数据库
关系型数据库是一个结构化的数据库,创建在关系模型基础上,-般面向记录。它借助于集合代数等数学概念和方法来处理数据库中的数据。关系模型指二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。现实世界中.各种实体与实体之间的各种联系都可以用关系模型来表示。SQL(Structured Query Language,结构化查询语言〉语句就是一种基于关系型数据库的语言.用于执行对关系型数据库中数据的检索和操作。主流的关系型数据库包括Oracle,MySQL、SQL Server、Microsoft Access、DB2等。
2.非关系型数据库
NoSQL(NoSQL= Not Only SQL ),意思是“不仅仅是SQL.”,是非关系型数据库的总称。主流的NoSQL 数据库有Redis、 MangBD、Hbase、CouhDB等。以上这些数据库,它们的存储方式、存储结构以及使用的场景都是完全不同的.所以我们认为它是一个非关系型数据库的集合.而不是像关系型数据库一样.是一个统称。换言之,主流的关系型数据库以外的数据库,都是非关系型的。NoSQL数据库凭借着其非关系型.分布式.开源和横向扩展等优势,被认为是下一代数据库产品.
1. Redis简介
Redis 是一个开源的、使用C语言编写.支持网络.可基于内存亦可持久化的日志型、key-value(键值对)数据库,是目前分布式架构中不可或缺的一环。
Redis 服务器程序是单进程模型,也就是在一台服务器上可以同时启动多个Redis进程.而Redis的实际处理速度则完全依靠于主进程的执行效率.若在服务器上只运行一个Redis进程,当多个客户
端同时访问时.服务器的处理能力会有--定程度的下降,若在同一台服务器上开启多个Redis进程.Redis 在提高并发处理能力的同时会给服务器的CPU造成很大压力。也就是说,在实际生产环境中.需要根据实际的需求来决定开启多少个Redis进程。若对高并发要求更高一些.可能会考虑在同一台服务器上开启多个进程:若CPU资源比较紧张,采用单进程即可。
Redis 具有以下几个优点。
具有极高的数据读写速度,数据读取的速度最高可达到110000次/s,数据写入速度最高可达到81000次/s。
支持丰富的数据类型.不仅仅支持简单的key一value数据类型.还支持Strings、Lists、Hashes,Sets 及 Ordered Sets等数据类型操作。
支持丰富的数据类型.不仅仅支持简单的key一value数据类型.还支持Strings、Lists、Hashes,Sets 及 Ordered Sets等数据类型操作。
原子性,Redis所有操作都是原子性的。
支持数据备份,即master一salve模式的数据备份。
部署配置实验
实验环境
虚拟机 6台 centos7.9
网卡NAT模式 数量 1
组件包Redis安装包
设备 | IP | 备注 |
Centos01 | 192.168.9.31 | Node1 |
Centos02 | 192.168.9.32 | Node2 |
Centos03 | 192.168.9.33 | Node3 |
Centos04 | 192.168.9.34 | Node4 |
Centos05 | 192.168.9.35 | Node5 |
Centos06 | 192.168.9.36 | Node6 |
初始配置
关闭防火墙关闭Selinux
Systemctl disable firewalld --now
关闭Selinux
setenforce 0
sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
配置IP DNS 网关
nmtui
上传Redis安装包
安装组件
yum -y install gcc vim net-tools
解压到/usr/src/ 目录下
[root@node2 ~]# tar zxf redis-7.2.4.tar.gz -C /usr/src/
进入解压目录进行编译安装
cd /usr/src/redis-7.2.4/make && make install
Redis操作命令关联系统
[root@node2 redis-7.2.4]# ln -s src/* /usr/sbin/
创建群集配置目录
mkdir cluster mkdir cluster/6001
cp redis.conf cluster/6001
mkdir cluster/6002
cp redis.conf cluster/6002
mkdir cluster/6003
cp redis.conf cluster/6003
mkdir cluster/6004
cp redis.conf cluster/6004
mkdir cluster/6005
cp redis.conf cluster/6005
mkdir cluster/6006
cp redis.conf cluster/6006
分别修改
vim cluster/6001/redis.confbind 192.168.160.51 #将127.0.0.1修改对应节点IP
protected-mode no #将yes 修改no关闭保护功能
port 6001 #将6379端口修改对应目录的
daemonize yes #将no 修改yes 开启守护进程
cluster-enabled yes #将 #删除 开启群集功能
cluster-config-file nodes-6379.conf #将 #删除 开启群集配置文件
cluster-node-timeout 15000 #将 #删除 开启群集节点超时
将群集目录 cluster 复制到其它节点
tar zcf cluster-dir.tar.gz cluster
每个节点 启动redis服务 不同节点变换目录 cluster/6002
redis-server cluster/6001/redis.conf
查询启动进程
ps -aux
创建群集 仅在node 1 操作
yum -y install ruby ruby-devel rpm-buildredis-cli --cluster create 192.168.9.31:6001 192.168.9.32:6002 192.168.9.33:6003 192.168.9.34:6004 192.168.9.35:6005 192.168.9.36:6006 --cluster-replicas 1
验证测试验证测试
redis-cli -h 192.168.160.51 -p 6001 -c
cluster slots
相关文章:

Redis 群集部署
1.关系型数据库 关系型数据库是一个结构化的数据库,创建在关系模型基础上,-般面向记录。它借助于集合代数等数学概念和方法来处理数据库中的数据。关系模型指二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。现实世界中…...

WPF中如何设置自定义控件(二)
前一篇文章中简要讲解了圆角按钮、圆形按钮的使用,以及在windows.resource和app.resource中设置圆角或圆形按钮的样式。 这篇主要讲解Polygon(多边形)、Ellipse(椭圆)、Path(路径)这三个内容。 Polygon 我们先看一下的源码: namespace System.Windows.Shapes { pu…...
【C++】每周一题——2024.3.3
题目 Cpp 【问题描述】 字符环(来源:NOI题库)。有两个由字符构成的环,请写一个程序,计算这两个字符环上最长公共字符串的长度。例如,字符串“ABCEFAGADEGKABUVKLM”的首尾连在一起,构成一个环&a…...

5G网络架构与组网部署01--5G网络架构的演进趋势
目录 1. 5G网络架构的演进趋势 1.1 5G移动通信系统整体架构 1.2 4G移动通信系统整体架构 1.3 4G与5G移动通信系统整体架构对比 1.4 核心网架构演进 1.5 无线接入网演进 1. 整体架构组成:接入网,核心网 2. 5G网络接入网和核心网对应的网元ÿ…...

2023全球软件开发大会-上海站:探索技术前沿,共筑未来软件生态(附大会核心PPT下载)
随着信息技术的迅猛发展,全球软件开发大会(QCon)已成为软件行业最具影响力的年度盛会之一。2023年,QCon再次来到上海,汇聚了众多业界精英、技术领袖和开发者,共同探讨软件开发的最新趋势和实践。 一、大会…...

C#插入排序算法
插入排序实现原理 插入排序算法是一种简单、直观的排序算法,其原理是将一个待排序的元素逐个地插入到已经排好序的部分中。 具体实现步骤如下 首先咱们假设数组长度为n,从第二个元素开始,将当前元素存储在临时变量temp中。 从当前元素的前一…...

快速搭建Vue前端框架
快速搭建Vue前端框架 安装Vue Vue官方安装过程:https://cli.vuejs.org/zh/guide/installation.html 二.创建Vue工程 2.2 安装淘宝镜像 安装淘宝镜像(会让你安装Vue的速度加快): npm config set registry https://registry.npm.taobao.or…...
TS中private和protected的区别
在 TypeScript 中,private 和 protected 是两种访问修饰符,用于限制类成员(如属性、方法等)的可见性和可访问性。它们的主要区别在于访问权限的宽松程度。 1. private 当一个类的成员被标记为 private 时,它只能在该…...
虚拟机Hyper-V操作记录
问题1:安装Hyper-V,虚拟机监控程序无法打钩,提示该固件的虚拟化支持被禁用 主板型号:华硕ASUS ROG STRIX Z390-E GAMING 解决方法:进入BIOS,Advanced/CPU Configuration/Intel(VMX) Virtualization Technol…...
90. 子集 II(力扣LeetCode)
文章目录 90. 子集 II题目描述回溯算法 90. 子集 II 题目描述 给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。返回的解集中,子集可以按 任意顺序 …...

202435读书笔记|《半小时漫画中国史》——读点经济学与历史,生活更美好,趣味烧脑土地制度、商鞅变法、华丽丽的丝绸之路这里都有
202435读书笔记|《半小时漫画中国史》——读点经济学与历史,生活更美好,趣味烧脑土地制度、商鞅变法、华丽丽的丝绸之路这里都有 1. 土地政策、度量衡及税收2. 商鞅变法3. 西汉经济4. 西汉盐铁大辩论5. 西汉丝绸之路 《半小时漫画中国史:经济…...

2023下半年主品牌锋芒依旧,江南布衣打破既定天花板?
在过去的2023年里,服装板块令人意外的领涨消费大盘,国家统计局数据显示,上半年服装零售额同比增长12.8%,远超商品零售大盘的增速6.8%。 整体表现强劲的同时,“局部”表现是否也尽如人意。近日,作为时尚服装…...

Gitlab: PHP项目CI/CD实践
目录 1 说明 2 CI/CD 2.1 部署方式一:增量部署 2.1.1 目标服务器准备 2.2.2 Gitlab及Envoy脚本 2.2 部署方式二:镜像构建与部署 2.2.1 推送到私有化容器仓库 准备工作 脚本 要点 2.2.2 推送到hub.docker.com 准备工作 脚本 3 参考&#x…...

c语言游戏实战(10):坤坤的篮球回避秀
前言: 这款简易版的球球大作战是博主耗时两天半完成的,玩家需要控制坤坤在游戏界面上移动,来躲避游戏界面上方不断掉下来的篮球。本游戏使用C语言和easyx图形库编写,旨在帮助初学者了解游戏开发的基本概念和技巧。 在开始编写代…...

初学arp欺骗
首先准备一台靶机这里用虚拟机的win10 已知网关与ip地址(怕误伤) 现在返回kali从头开始 首先探测自己的网关 然后扫内网存活的ip 发现有3台 用nmap扫一下是哪几台 成功发现我们虚拟机的ip 现在虚拟机可以正常访问网络 接下来直接开梭 ip网关 返回虚拟机…...
ftp几个常见错误问题及解决办法
1、无法上传网页,FTP故障-提示“无法连接服务器”错误。 问题出现原因:FTP客户端程序设置问题,客户上网线路问题,ftp服务器端问题。 处理方法:建议客户使用CUTPFTP软件来上传客户的网页,在“F…...

鸿蒙App开发新思路:小程序转App
国家与国家之间错综复杂,在谷歌的安卓操作系统“断供”后,鸿蒙系统的市场化&独立化的道路便显而易见了。 2024年1月18日,华为宣布,不再兼容安卓的“纯血鸿蒙”--HarmonyOS NEXT鸿蒙星河版最终面世,并与2024年Q4正…...
C++17之std::invoke: 使用和原理探究(全)
C进阶专栏:http://t.csdnimg.cn/5mV9r 目录 1.概述 2.辅助类 3.原理分析 4.总结 1.概述 在之前的 C 版本中,要调用不同类型的可调用对象,需要使用不同的语法,例如使用函数调用运算符 () 来调用函数或函数指针,使用…...

shadertoy 游戏《来自星尘》摇杆复刻
正确的做法应该是上 noise 而不是叠加 sin 波,不过如果不想麻烦的话叠波还是一个不错的选择:整体效果如下,已经非常形似 直接上链接:Shader - Shadertoy BETA float radiusScale 0.9; float variation(vec2 v1, vec2 v2, float …...

获取PDF中的布局信息——如何获取段落
PDF解析是极其复杂的问题。不可能靠一个工具解决全部问题,尤其是五花八门,格式不统一的PDF文件。除非有钞能力。如果没有那就看看可以分为哪些问题。 提取文本内容,提取表格内容,提取图片。我认为这些应该是分开做的事情。python有…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

莫兰迪高级灰总结计划简约商务通用PPT模版
莫兰迪高级灰总结计划简约商务通用PPT模版,莫兰迪调色板清新简约工作汇报PPT模版,莫兰迪时尚风极简设计PPT模版,大学生毕业论文答辩PPT模版,莫兰迪配色总结计划简约商务通用PPT模版,莫兰迪商务汇报PPT模版,…...