服务(第二十五篇)redis的优化和持久化

news2024/12/23 12:37:20

持久化的功能:Redis是内存数据库,数据都是存储在内存中,为了避免服务器断电等原因导致Redis进程异常退出后数据的永久丢失,需要定期将Redis中的数据以某种形式(数据或命令)从内存保存到硬盘;当下次Redis重启时,利用持久化文件实现数据恢复。除此之外,为了进行灾难备份,可以将持久化文件拷贝到一个远程位置。

Redis 提供两种方式进行持久化:

RDB 持久化:原理是将 Reids在内存中的数据库记录定时保存到磁盘上。
AOF 持久化(append only file):原理是将 Reids 的操作日志以追加的方式写入文件,类似于MySQL的binlog。

RDB 持久化(工作原理):

AOF 持久化(工作原理):

开启AOF
Redis服务器默认开启RDB,关闭AOF;要开启AOF,需要在配置文件中配置:
vim /etc/redis/6379.conf
--700行--修改,开启AOF
appendonly yes
--704行--指定AOF文件名称
appendfilename "appendonly.aof"
--796行--是否忽略最后一条可能存在问题的指令
aof-load-truncated yes

AOF持久化和RDB持久化的区别:

①AOF持久化是以追加的方式把redis内存的操作命令保存在文件中;RDB持久化是定时把redis内存的数据进行快照压缩保存成RDB文件;

②他们都是在父进程fork时会出现阻塞,但是AOF的实时性更好;

③AOF持久化占用的内存比较大,速度慢;RDB持久化占用的内存小,速度快;

④AOF持久化的兼容性比RDB持久化好;

redis的优化:

①开启AOF持久化;

②精简键名,给键设置生命周期;

③设置redis的密码;

④多使用hash散列方式在redis中;

⑤开启自动清理内存碎片;

⑥设置clients连接数、memory内存最大数、timeout超时时间;

⑦主从复制、哨兵模式和集群的高可用;

缓存和数据库的数据双写一致性问题:

怎么查:查看两方的位置点偏移量是否一致;

怎么解决:更新数据库,然后删除缓存(或者设置缓存的生命周期),然后如果有更新的数据会同步缓存到redis里;

缓存雪崩:

现象:缓存同一时间大面积的过期失效,所以,后面的请求都会落到数据库上,造成数据库短时间内承受大量请求而崩掉;

解决办法:①加锁排队 ②设置生命周期随机;

缓存击穿:

现象:缓存中没有但数据库中有的数据(一般是缓存时间到期),这时由于并发用户特别多,同时读缓存没读到数据,又同时去数据库去取数据,引起数据库压力瞬间增大,造成过大压力。
和缓存雪崩不同的是,缓存击穿指并发查同一条数据,缓存雪崩是不同数据都过期了,很多数据都查不到从而查数据库;

解决办法:①设置高热数据永久不过期 ②设置互斥锁

缓存穿透:
现象:缓存和数据库中都没有的数据,导致所有的请求都落到数据库上,造成数据库短时间内承受大量请求而崩掉;

解决办法:①设置校验,例如id<=0的直接过滤  ②使用布隆过滤器,把一定不正确的结果直接拦截。

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

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

相关文章

win7虚拟机无法安装VMwaretools的处理办法(亲测有效!)

最近在学习中用到要安装win7系统&#xff0c;于是我在虚拟机里装了win7系统&#xff0c;但是却发现无法安装VMware tools&#xff0c;最后经多方查证&#xff0c;以下方法可解决&#xff01; 这里提示需要将原始win7升级到win7 SP1版本&#xff0c;可在控制面版——系统和安全…

ChatGPT应用场景巡航之会议纪要

今天我们拿昨天&#xff08;2023年5月17日&#xff09;腾讯发布2023年一季报会议来举例。 首先刚开篇Pony&#xff08;马化腾&#xff09;说的一段话来看下知否AI问答多场景中的会议纪要表现如何&#xff1a; 马化腾&#xff1a;谢谢你&#xff0c;温迪。晚上好。感谢您加入我…

macOS Monterey 12.6.6 (21G646) 正式版发布,ISO、IPSW、PKG 下载

macOS Monterey 12.6.6 (21G646) 正式版发布&#xff0c;ISO、IPSW、PKG 下载 本站下载的 macOS 软件包&#xff0c;既可以拖拽到 Applications&#xff08;应用程序&#xff09;下直接安装&#xff0c;也可以制作启动 U 盘安装&#xff0c;或者在虚拟机中启动安装。另外也支持…

【QT 自研上位机 与 STM32F4xx下位机联调>>>can通信测试-基础样例-联合文章】

【QT 自研上位机 与 STM32F103下位机联调>>>通信测试-基础样例-联合文章】 1、概述2、实验环境3、联合文章&#xff08;1&#xff09;对于上位机&#xff0c;可以参照如下例子&#xff08;2&#xff09;对于下位机&#xff0c;可以参照如下例子 4、QT上位机部分第一步…

PCD235A101 3BHE032025R0101功能框图如何在 PLC 中工作?

​ PCD235A101 3BHE032025R0101功能框图如何在 PLC 中工作&#xff1f; ​ 表示功能块和逻辑门的图形编程语言称为功能块图 创建 PLC 时&#xff0c;逻辑门及其在集成逻辑电路中的应用已广为人知。使用专门的绘图应用程序&#xff0c;连接线用于连接功能块编程中的各种符号。…

国内版的ChatGPT模型分享

1、百度的【文心一言】注册地址&#xff1a;点我 这里我很早之前就申请了&#xff0c;所以当前时可以正常使用的&#xff0c;还没有体验的小伙伴&#xff0c;可以现在申请 虽然与ChatGPT还是有一些差距的&#xff0c;但是作为办公助手还是很OK的&#xff01;&#xff01; 而且有…

谷歌升级Find My Device服务,苹果Find My产品市场火爆

谷歌效仿苹果和 Tile 的定位追踪解决方案&#xff0c;在 I / O 2023 开发者大会上宣布升级 Find My Device 平台。 谷歌的 Sameer Samat 宣布&#xff0c;Find My Device 平台在“未来几个月内”支持追踪耳机、平板电脑和其他产品类别。更为重要的是&#xff0c;Find My Devi…

深度学习在图像识别方面的应用

前言 深度学习是一种非常强大的机器学习技术&#xff0c;它在许多领域都有广泛的应用。其中&#xff0c;图像识别是深度学习最成功的应用之一。本文将详细介绍深度学习在图像识别方面的应用。 图像识别的基本步骤 图像识别的基本步骤包括图像预处理、特征提取和分类器。图像预…

airasia Superapp × HMS Core:便捷出行,悦享全程

2023年5月9日-5月11日&#xff0c;HUAWEI P60系列及旗舰产品发布会在欧洲德国、中东非阿联酋、亚太马来西亚、拉美墨西哥陆续举办&#xff0c;为消费者带来高端影像旗舰HUAWEI P60 Pro及系列全场景智能新品。其中在亚太站&#xff0c;还传递了一个重要消息&#xff1a;2023年6月…

Tomcat源码:ProtocolHandler与Endpoint

参考资料&#xff1a; 《Tomcat源码解析系列&#xff08;十一&#xff09;ProtocolHandler》 《Tomcat源码解析系列&#xff08;十二&#xff09;NioEndpoint》 前文&#xff1a; 《Tomcat源码&#xff1a;启动类Bootstrap与Catalina的加载》 《Tomcat源码&#xff1a;容器…

Linux下实现统计文件单词个数和出现次数

本文介绍的是在Linux下实现统计文件单词个数和出现次数&#xff0c;以及实践过程中遇到的gcc编译器不匹配问题 一、实现文件单词个数统计 #include <stdio.h>#define IN_Word 1 #define OUT_Word 0 #define INIT OUT_Wordint splite(char c){if ((c ) || (c\n) || (c\t…

上海丨阿里云 Serverless 技术实战营邀你来玩!

活动简介 本次沙龙深度探讨 “Serverless 在中国企业的落地和开发者实操” 主题&#xff0c;我们特别邀请了来自阿里云一线技术专家&#xff0c;分享当前 Serverless 趋势和落地实践过程中的挑战和机遇&#xff1b;带来数据库 Serverless 技术架构及应用实践&#xff1b;浅析云…

地铁之家—车辆段

城市轨道交通列车也有一个家——车辆段&#xff0c;它通常由停车区、维修区和清洗区等组成&#xff0c;用于停放、维修保养。 一、地铁车辆段和停车场有何不同&#xff1f; 停车场在管理上一般附属于主要车辆段&#xff0c;规模较小&#xff0c;功能上可以实现车辆的运用管理…

如何进行MySQL漏洞扫描

MySQL是一款广泛使用的关系型数据库管理系统&#xff0c;但由于其复杂的结构和功能&#xff0c;也存在不少安全漏洞&#xff0c;容易被黑客攻击。为了解决这些安全问题&#xff0c;进行MySQL漏洞扫描是必要的。那么MySQL怎么进行漏洞扫描?如何进行漏洞扫描?接下来就让小编带大…

ChatGPT为什么能生成图片?

有小伙伴说我想用ChatGPT生成图片怎么操作&#xff0c;ChatGPT怎么画图等 这里阐明一下&#xff0c;ChatGPT是不能够做到画图的 因为它是一种自然语言处理模型&#xff0c;主要用于处理文本和语言相关的任务&#xff0c;例如问答、对话、翻译等。但是&#xff0c;我们可以使用C…

技术干货|如何利用 ChunJun 实现数据离线同步?

ChunJun 是⼀款稳定、易⽤、⾼效、批流⼀体的数据集成框架&#xff0c;基于计算引擎 Flink 实现多种异构数据源之间的数据同步与计算。ChunJun 可以把不同来源、格式、特点性质的数据在逻辑上或物理上有机地集中&#xff0c;从⽽为企业提供全⾯的数据共享&#xff0c;目前已在上…

针对电子企业的仓储需求,提出WMS仓储管理系统解决方案

随着电子行业的快速发展&#xff0c;仓储管理已经成为电子企业日常运营中不可或缺的一环。然而&#xff0c;由于缺乏有效的仓储管理系统&#xff0c;电子企业经常面临库存不准确、库存滞销等问题。这就是电子企业仓储管理面临的严重问题&#xff0c;引出了需要提出一套有效的仓…

【每日一题Day211】LC1079活字印刷 | 回溯 计数dp

活字印刷【LC1079】 你有一套活字字模 tiles&#xff0c;其中每个字模上都刻有一个字母 tiles[i]。返回你可以印出的非空字母序列的数目。 **注意&#xff1a;**本题中&#xff0c;每个活字字模只能使用一次。 我反正是写的相当暴力 计数回溯 思路&#xff1a; 为了构成不同的…

win10设置notepad++默认打开txt - 两步解决

第一步&#xff1a;Notepad注册.txt 以管理员的方式打开notepad 步骤&#xff1a;打开设置 -> 首选项 -> 文件关联 双击.txt .txt移动到注册框即可 第二步 设置Notepad默认打开 按照以下步骤将Notepad设置为默认打开.txt文件&#xff1a; 右键单击任何一个.txt文件…

车规级MCU芯片

作为车辆控制的核心器件&#xff0c;MCU主要用于车身控制、驾驶控制、信息娱乐和驾驶辅助系统。 8位MCU &#xff1a;提供低端控制功能:风扇控制、空调控制、雨刷、天窗、 车窗升降、低端仪表盘、集线盒、座椅控制、门控模块。 16位MCU &#xff1a;提供中端控制功能:用于动力…