当前位置: 首页 > news >正文

宁波建网站如何收费/大数据免费查询平台

宁波建网站如何收费,大数据免费查询平台,廊坊做网站多少钱,网络营销推广网站收录redis的高可用 redis当中,高可用概念更宽泛一些。 除了正常服务以外,数据量的扩容,数据安全。 实现高可用的方式: 1、持久化 最简单的高可用方法,主要功能就是备份数据。 把内存当中的数据保存到硬盘当中。 2、主…

redis的高可用

redis当中,高可用概念更宽泛一些。

除了正常服务以外,数据量的扩容,数据安全。

实现高可用的方式:

1、持久化 最简单的高可用方法,主要功能就是备份数据。

把内存当中的数据保存到硬盘当中。

2、主从复制

3、在主从复制的基础上,部署哨兵模式。

4、redis集群


一、redis的持久化

内存当中的数据保存到硬盘

开启持久化之后,会有一个持久化的文件,通过文件进行恢复。

redis提供的持久化方式:

RDB持久化定时的将内存当中的数据保存,类似于快照的形式用二进制压缩存储,后缀名是.rdb,每次redis重新启动时,都会读取快照文件,进行恢复,默认的持久化方式

dbfilename dump.rdb rdb         持久化的文件名

 

save 900 1          当时间到900秒,过redis的数据发生一次变化,就会执行bgsave

save 300 10        当时间到300秒,如果redis的数据发生了10次变化,就会执行bgsave

save 60 10000    当时间到60秒,如果redis的数据发生了10000次变化,就会执行bgsave

save m n :只是配置文件当中的配置项,redis执行的命令是bgsave

save不能直接在命令行执行,一旦执行save,redis主进程会进入阻塞状态,这时读写都不能进行,直到save完成,才能继续读写,save在生产中时禁用的。

RDB持久化的工作方式:

bgsave就是rdb快照保存的方式。

bgsave在执行关闭redis服务的时候,也会自动执行bgsave

bgsave是主从复制的默认恢复模式,从节点执行全量恢复操作,主节点通过bgsave命令把rdb发送给从节点,除了配置文件save m n ,关闭redis会执行bgsave,开启redis也会执行bgsave。

AOF持久化:(主流)

他是把操作的数据库执行以日志的形式保存在指定的文件当中,文件的后缀名.aof,类似于mysql的binlog。

没有时间,没有位置,只有命令

AOF持久化的实时性更好,只要你操作了都会记录在日志文件中,进程出现意外时,丢失的数据更少,AOF是主流的持久化方式。

RDB和AOF两者是配合使用。

AOF默认是关闭的,需要开启。

如果同时开启RDB和AOF,哪个优先级高?

一旦开启AOF,系统默认选择AOF进行备份。

appendonly yes 打开AOF的功能

appendfsync everyesc 每秒主动更新一次

no-appendfsync-on-rewrite no 不是每次都一定要对AOF文件进行重写,手动来对AOF文件重写。

aof-load-truncated yes 如果发现AOF文件被截断,redis在启动时会自动修复AOF的文件,尽可能的对数据进行恢复。一旦是NO redis发现文件被截断,redis会拒绝启动。

AOF持久化的工作方式:

重写:

充分非必要条件

一旦开启AOF持久化之后,所有的数据库操作记录必然都会写入AOF持久化文件当中,AOF文件会越来越大,记录的操作越多,一旦要恢复,速度会很慢。

重写的作用:为了压缩AOF持久化文件。

重写就是把原内容压缩,后续新的读写,继续插入AOF文件,不管怎么写入,最后都会在AOF文件


RDB持久化和AOF持久化之间的优缺点

RDB文件小,传输的速度很快,适合全量复制,恢复速度比AOF快,性能上影响较小,但是数据安全不如AOF

AOF是秒级持久化,数据量全,兼容性好

缺点:文件大,恢复速度慢,性能影响大

但是支持全量和增量。数据安全大于一切。


redis性能管理:

info memory 查看系统占用的内存

userd memory:字节 redis中的数据占用内存的大小

used_memory_rss:字节 redis向系统申请的内存,随着数据占用的大小,自动扩容。

used_memory_peak:937408 占用系统内存的峰值

vim /etc/redis/6379.conf

进入配置文件

在配置文件设置redis占用系统的阈值,一定要设置阈值,不设置阈值会把所有的系统内存都占用了

设置一个阈值,看项目的大小来进行设置,没有一个固定值。

内存碎片化率:

内存碎片化率=redis向系统申请的内存除以(/)redis数据实际占用的内存

redis-cli info-memory | grep ratio 查看碎片化率

allocator frag ratio:1.33

分配器的碎片化比列,值越大,碎片越多,导致内存浪费

allocator rss ratio:6.79

分配器占用物理内存的比例

rss overhead ratio:0.93

表示占用物理内存的额外开销的比例,这个值越小越好,redis实际使用的物理内存比rss更接近

mem fragmentation ratio:12.81

内存的碎片比例,已经分配的内存,但是没有使用,这个值越低越好,内存利用率更高

 

配置文件取消注释自动清理碎片

手动清理 redis-cli memory purge(一般都是手动清理)


面试题:

redis常见的问题

缓存雪崩

redis产生了大面积的故障(缓存数据丢失),所有的请求全部转发到了数据库。

数据库不适合高并发,很快集群就会崩溃,然后整个系统瘫痪

产生的原因:

1、人为--------踩缝纫机

2、缓存数据大量的同时过期,新的缓存没有及时生产

3、redis服务集群崩溃

防范机制:

1、redis集群一定要做高可用方案

持久化 主从 哨兵 集群

2、访问量过大,超过redis本身的负载能力。

熔断机制 Hystrix 可以实现熔断,降级,限流来降低雪崩的概率。

缓存击穿

redis的缓存数据有一部分丢失了,导致请求转发到了数据库,或者是缓存刚刚过期,新缓存还没有简历,请求都转发到了数据库。

防范机制:

热点缓存数据设置为永不过期

持久化,高可用

我发现经常使用的热点语句,查询速度突然变的很慢,查找问题,发现改热点数据对应的缓存键值对消失了。

怎么解决:

简单回答:因为我没有redis的密码,我报告给了数据库的部门。

高级回答:我进入了redis的数据库set 重新创建了这个热点数据的缓存,解决了这个问题

缓存穿透

80%以上都是黑客攻击

利用缓存和数据库都没有的数据,用户一直在发起请求。

利用大量的请求压垮数据库,从而导致整个网站崩溃。

防范:

防火墙 只能起到一定的作用

验证拦截(消息队列)需要手动完成,可以判断是否是攻击行为。

缓存空的数据

把一些空数据也设置缓存,声明生命周期短一点,以防恶意攻击。


相关文章:

redis的高可用及性能管理和雪崩

redis的高可用 redis当中,高可用概念更宽泛一些。 除了正常服务以外,数据量的扩容,数据安全。 实现高可用的方式: 1、持久化 最简单的高可用方法,主要功能就是备份数据。 把内存当中的数据保存到硬盘当中。 2、主…...

php基础语法

文章目录 1. PHP(1) 安装php 2. 基础语法(1) 格式(2) 输出语法(3) 注释(4) 变量(无变量类型自动识别)(5) 输入获取(6) 定界符(7) 换行 3. 基本数据类型(1) 字符串(2) 整数(3). 浮点数(4). boolean类型(5). 数组(6). null值 4. 运算符(1) 算术运算符(2) 比较运算符(3) 逻辑运算符…...

js抓取短信验证码发送

油猴(Tampermonkey)是一个流行的浏览器扩展,它允许用户在浏览器中运行自定义的JavaScript脚本。下面是一个简单的示例脚本,用于收集网站上发送短信验证码的API请求,并以JSON格式存储这些信息。请注意,这个脚本需要根据实际网站的API请求进行调整,因为不同的网站可能有不…...

视频怎么加密?常见的四种视频加密方法和软件

视频加密是一种重要的技术手段,用于保护视频内容不被未经授权的用户获取、复制、修改或传播。在加密过程中,安企神软件作为一种专业的加密工具,可以发挥重要作用。 以下将详细介绍如何使用安企神软件对视频进行加密,并探讨视频加密…...

聚焦全局应用可用性的提升策略,详解GLSB是什么

伴随互联网的快速发展和全球化趋势的深入,企业对网络应用的需求日渐增长。为满足全球范围内用户大量的访问需求,同时解决容灾、用户就近访问以及全球应用交付等问题,GLSB(全局负载均衡)也因此应运而生。那么GLSB是什么…...

无水印下载视频2——基于tkinter完成头条视频的下载

在数字化时代的浪潮中,视频内容以其丰富性和便捷性,逐渐成为了我们获取信息和娱乐的重要途径。尤其是在短视频平台上,各种创意十足、内容精彩的视频层出不穷,更是吸引了数以亿计的用户。然而,随着视频内容的增加&#…...

Java学习Day17:基础篇7

继承 Java中的继承是面向对象编程中的一个核心概念,它允许我们定义一个类(称为子类或派生类)来继承另一个类(称为父类或基类)的属性和方法。继承提高了代码的复用性,使得我们不必从头开始编写所有的代码&a…...

Vue3 Pinia的创建与使用代替Vuex 全局数据共享 同步异步

介绍 提供跨组件和页面的共享状态能力,作为Vuex的替代品,专为Vue3设计的状态管理库。 Vuex:在Vuex中,更改状态必须通过Mutation或Action完成,手动触发更新。Pinia:Pinia的状态是响应式的,当状…...

手撕数据结构02--二分搜索(附源码)

一、理论基础 二分搜索,也称折半搜索、对数搜索,是一种在有序数组中查找某一特定元素的搜索算法。 二分搜索是一种高效的查找算法,适用于在已排序的数组中查找特定元素。它的基本思想是通过不断将搜索区间对半分割,从而快速缩小…...

单片机工程师继续从事硬件设计还是涉足 Linux 开发?

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「linux的资料从专业入门到高级教程」,点个关注在评论区回复“666”之后私信回复“666”,全部无偿共享给大家!!! 怎么说呢,感觉绝…...

《昇思25天学习打卡营第25天|第28天》

今天是打卡的第二十八天,实践应用篇中的计算机视觉中Vision Transformer图像分类。 从Vision Transformer(ViT)简介开始了解,模型结构,模型特点,实验的环境准备和数据读取,模型解析&#xff08…...

Flutter Dio网络请求报错FormatException: Unexpected character

最近开发Flutter项目,网络请求采用的是Dio框架,在发起网络请求的时候报错: 网络请求返回的数据为: var returnCitySN {"cip": "127.0.0.1", "cid": "00", "cname": "未…...

关于@JsonSerialize序列化与@JsonDeserialize反序列化注解的使用(密码加密与解密举例)

注:另一种方式参考 关于TableField中TypeHandler属性,自定义的类型处理器的使用(密码加密与解密举例)http://t.csdnimg.cn/NZy4G 1.简介 1.1 序列化与反序列化 学习注解之前,我们可以先了解一下什么是序列化与反序列…...

第二届世界科学智能大赛逻辑推理赛道:复杂推理能力评估 #大模型技术之逻辑推理方向 #Datawhale #夏令营 <二>

第二届世界科学智能大赛逻辑推理赛道:复杂推理能力评估 #大模型技术之逻辑推理方向 #Datawhale #夏令营-CSDN博客 这里在上一篇的基础上,已经充分理解了一遍baseline的流程,并修复了一些后处理的问题,包括答案抽取,中间…...

C# 关于Linq延迟查询

demo: int Count 0;string[] obj { "item1", "item2", "item3", "item4", "item5", "item6" };var query obj.Where(item > IsTrue(item));// 第一次遍历foreach (var item in query){Console.WriteLine(it…...

Navicat For Mysql连接Mysql8.0报错:客户端不支持服务器请求的身份验证协议

windows通过navicat连接本地mysql时报错:Client does not support authentication protocol requested by server; consider upgrading MySQL client 一、问题原因二、解决方法1--失败1. 连接mysql客户端2. 修改加密方式3.正确的解决方法1.查找my.ini文件2.修改my.ini文件3.重…...

以西门子winCC为代表的组态界面,还是有很大提升空间的。

组态界面向来都是功能为主,美观和体验性为辅的,这也导致了国内的一些跟随者如法炮制,而且很多操作的工程师也是认可这重模式,不过现在一些新的组态软件可是支持精美的定制化界面,还有3D交互效果,这就是确实…...

HomeServer平台选择,介绍常用功能

​​ 平台选择 HomeServer 的性能要求不高,以下是我的硬件参数,可供参考: ‍ 硬件: 平台:旧笔记本CPU:i5 4210u内存 8G硬盘:128G 固态做系统盘,1T1T 机械盘组 RAID1 做存储。硬…...

记录一个k8s集群zookeeper部署过程

由于网管中心交维要求必须是支持高可用配置,原先单节点的zookeeper不被允许。所以在k8s集群中做了一个高可用版本的zookeeper。 期间有点小波折,官方给的镜像版本太老,业务不支持,所以手动做了下处理,重新打了一个镜像…...

TapData 信创数据源 | 国产信创数据库 TiDB 数据迁移指南,加速国产化进程,推进自主创新建设

随着国家对自主可控的日益重视,目前在各个行业和区域中面临越来越多的国产化,采用有自主知识产权的国产数据库正在成为主流。长期以来,作为拥有纯国产自研背景的 TapData,自是非常重视对于更多国产信创数据库的数据连接器支持&…...

开始写人工智能

文章目录 概述 概述 开始写人工智能模块。既然决定开始写这些,那就开始吧!...

盘点.软件测试模型

软件开发模型   软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。软件开发包括需求、设计、编码和测试等阶段,有时也包括维护阶段。 软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动…...

燃气安全无小事,一双专业劳保鞋让你步步安心!

燃气作为我们日常生活中不可或缺的能源之一,为我们的生活提供了极大便利,其安全性往往被忽视在忙碌的日常生活背后。然而,燃气事故一旦发生,后果往往不堪设想,轻则财产损失,重则危及生命。因此,…...

springboot校园服装租赁系统-计算机毕业设计源码30824

目 录 摘要 1 绪论 1.1 研究背景与意义 1.2国内外研究现状 1.3论文结构与章节安排 2 校园服装租赁系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 法律可行性分析 2.2 系统功能分析 2.2.1 功能性分析 2.2.2 非功能性分析 2.3 系统用例…...

线性回归和逻辑回归揭示数据的隐藏模式:理论与实践全解析

机器学习之线性回归和逻辑回归 1. 简介1.1 机器学习概述1.2 监督学习的定义与重要性1.3 线性回归和逻辑回归在监督学习中的作用1.3.1 线性回归1.3.2 逻辑回归 2. 线性回归(Linear Regression)2.1 定义与目标2.1.1 回归问题的定义2.1.2 预测连续目标变量 …...

掌握采购询价软件:高效比较供应商报价的技巧

在企业运营中,获取所需的产品往往是一项复杂且耗时的任务,这涉及多个环节和流程。然而,借助电子采购询价(RFQ)系统,许多原本需要采购员手动完成的任务可以自动化运行,从而提高了效率。 那么问题…...

AMQP-核心概念-终章

本文参考以下链接摘录翻译: https://www.rabbitmq.com/tutorials/amqp-concepts 连接(Connections) AMQP 0-9-1连接通常是长期保持的。AMQP 0-9-1是一个应用级别的协议,它使用TCP来实现可靠传输。连接使用认证且可以使用TLS保护…...

在WPF中使用WebView2详解

Microsoft Edge WebView2 Microsoft Edge WebView2 控件允许在本机应用中嵌入 web 技术(HTML、CSS 以及 JavaScript)。 WebView2 控件使用 Microsoft Edge 作为绘制引擎,以在本机应用中显示 web 内容。 使用 WebView2 可以在本机应用的不同部分嵌入 Web 代码&…...

僵尸进程的例子

以下是一个简单的C语言程序示例&#xff0c;该程序将创建一个子进程&#xff0c;然后子进程退出&#xff0c;但是父进程不会调用wait()或waitpid()来回收子进程的状态&#xff0c;从而使得子进程成为僵尸进程。 #include <stdio.h> #include <stdlib.h> #include …...

消息中间件分享

消息中间件分享 1 为什么使用消息队列2 消息队列有什么缺点3 如何保证消息队列的高可用4 如何处理消息丢失的问题?5 如何保证消息的顺序性1 为什么使用消息队列 解耦、异步、削峰 解耦 不使用中间件的场景 使用中间件的场景 异步 不使用中间件 使用中间件 削峰 不使…...