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

Redis3

目录

什么是缓存穿透?怎么解决?

什么是缓存雪崩?怎么解决?

如何保证数据库和缓存的数据一致性?

如何保证Redis服务高可用?

哨兵的作用

Redis虚拟槽分区有什么优点?

为什么Redis集群最大槽数是16384?

集群中的节点如何保持通信?


什么是缓存穿透?怎么解决?

请求去查询一条记录,先查redis没有,再查数据库也没有,请求每次都打在数据库上面,导致数据库压力暴增,这种现象称为缓存穿透

解决:
1.空对象缓存或者缺省值

2.布隆过滤器

什么是缓存雪崩?怎么解决?

redis中有大量key同时过期大面积失效,后面的请求都直接落到了数据库上,造成数据库短时间内承受大量请求。

解决:

1.将某些key设置为永不过期或者将过期时间错开

2.缓存集群实现高可用

3.多缓存结合预防

4.服务降级

如何保证数据库和缓存的数据一致性?

四种更新策略:

1.先更新数据库,再更新缓存

        数据库同步到缓存失败会读到脏数据

        多线程高并发情况下数据最终可能不一致

2.先更新缓存,再更新数据库

        不推荐,一般将数据库作为底单数据

        多线程高并发情况下数据最终可能不一致

3.先删除缓存,再更新数据库

        采用延迟双删策略

4.先更新数据库,再更新缓存

        假如缓存删除失败或者来不及,导致请求再次访问redis时缓存命中,读取到的是缓存旧值。

如何保证Redis服务高可用?

通过哨兵和集群来保证高可用

哨兵:吹哨人巡查监控后台master主机是否故障,如果故障了根据投票数自动将某台从库转换为新主库,继续对外服务。

集群:由于数据量过大,单个Master复制集难以承担,因此需要对多个复制集进行集群,形成水平扩展每个复制集只负责存储整个数据集的一部分,这就是Redis的集群,其作用是提供在多个Redis节点间共享数据的程序集。

哨兵的作用

1.主从监控:监控主从redis库是否正常运行

2.消息通知:将故障转移的结果发送给客户端

3.故障转移:如果master异常,则会进行主从切换,将其中一个slave作为master

4.配置中心:客户端通过连接哨兵来获取当前redis服务的主节点地址

Redis虚拟槽分区有什么优点?

方便扩缩容和数据分派查找,解耦了数据和节点之间的关系,提升了集群的横向扩展性和容错性。

为什么Redis集群最大槽数是16384?

(1)如果槽位为65536,发送心跳信息的消息头达8k,发送的心跳包过于庞大。

(2)redis的集群主节点数量基本不可能超过1000个。

(3)槽位越小,节点少的情况下,压缩比高,容易传输

集群中的节点如何保持通信?

Redis集群中的各个节点基于Grossip协议来进行通信共享信息,每个Redis节点都维护了一份集群的状态信息。

相关文章:

Redis3

目录 什么是缓存穿透?怎么解决? 什么是缓存雪崩?怎么解决? 如何保证数据库和缓存的数据一致性? 如何保证Redis服务高可用? 哨兵的作用 Redis虚拟槽分区有什么优点? 为什么Redis集群最大槽…...

Oracle数据巡检 - 设计巡检模板

设计巡检模板 明确巡检数据库等信息 包括数据库种类、版本、架构、数量等,例如 Oracle DG和Oracle RAC数据库巡检项肯定会有差异,Oracle 11g和12c版本巡检内容也会有所不同。 明确巡检项 这一块需要结合自身的运维经验,列出详尽的巡检项&…...

优盘未格式化数据恢复实战指南

在数字时代,优盘(USB闪存驱动器)作为便携存储媒介,承载着无数重要的文件与数据。然而,当您插入优盘准备访问资料时,却遭遇了“驱动器未被格式化”的提示,这无疑是一场突如其来的数据危机。本文将…...

【python基础】python基础习题练习(一)

文章目录 一. python语言简介二. python基本语法与常用函数三. python基本数据类型一.选择题二.编程题四. python组合数据类型一.选择题二.简答题三.编程题一. python语言简介 查看python是否安装成功的命令是:python -vPython IDE有:pyCharm、Spyder、Jupter NotebookPython…...

GESP 4级样题 ---> 绝对素数

这题需要判断一个数和它的反转后的数是否都为素数。 可以转成 string 后 reverse 一下。 AC CODE&#xff1a; #include <bits/stdc.h> using namespace std; typedef long long LL; bool isPrime(int x){if(x<2) return false;for(int i2;i*i<x;i){if(x%i0) re…...

大语言模型系列 - Transformer

1. 简介 1.1. 概述 大语言模型Transformer是一种由谷歌公司提出的基于注意力机制的神经网络模型,它在自然语言处理(NLP)领域取得了显著成就,并逐渐被应用于其他领域如语音识别、计算机视觉和强化学习等。 1.2. 学习资源 以下是一些学习大语言模型Transformer的资源地址…...

Java面试之操作系统

1、冯诺依曼模型 运算器、控制器、存储器、输入设备、输出设备 32位和64位CPU最主要区别是一次性能计算多少字节数据&#xff0c;如果计算的数额不超过 32 位数字的情况下&#xff0c;32 位和 64 位 CPU 之间没什么区别的&#xff0c;只有当计算超过 32 位数字的情况下&#…...

springboot船舶维保管理系统--论文源码调试讲解

第二章 相关技术 本次开发船舶维保管理系统使用的是Vue进行程序开发&#xff0c;船舶维保管理系统的数据信息选择MySQL数据库进行存放。 2.1 VUE介绍 Vue (读音 /vjuː/&#xff0c;类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是&#xff0c;Vue…...

【机器学习西瓜书学习笔记——神经网络】

机器学习西瓜书学习笔记【第五章】 第五章 神经网络5.1神经元模型5.2 感知机与多层网络学习感知机学习率成本/损失函数梯度下降 5.3 BP神经网络&#xff08;误差逆传播&#xff09;5.4 全局最小与局部极小5.5 其他常见神经网络RBF网络RBF 与 BP 最重要的区别 ART网络 第五章 神…...

安装 electron 报错解决

1. 报错 大概率由镜像问题导致 2. 解决 2.1 打开 npm 配置 npm config edit 2.2 添加配置 registryhttps://registry.npmmirror.comelectron_mirrorhttps://cdn.npmmirror.com/binaries/electron/electron_builder_binaries_mirrorhttps://npmmirror.com/mirrors/electron…...

【Material-UI】Icon Button 组件详解

文章目录 一、基础用法1. 禁用状态 二、大小&#xff08;Sizes&#xff09;1. 小尺寸&#xff08;Small&#xff09;2. 大尺寸&#xff08;Large&#xff09; 三、颜色&#xff08;Colors&#xff09;1. 主题颜色2. 自定义颜色 四、高级用法和最佳实践1. 无障碍性&#xff08;A…...

51单片机-第七节-DS1302实时时钟

一、DS1302介绍&#xff1a; 实时时钟芯片&#xff0c;可对年&#xff0c;月&#xff0c;日&#xff0c;周&#xff0c;时&#xff0c;分&#xff0c;秒计时&#xff0c;是一种集成电路。 二、DS1302原理&#xff1a; 1.寄存器定义&#xff1a; Command&#xff1a;操作模式…...

Java毕业设计 基于SSM和Vue的图书馆座位预约系统小程序

Java毕业设计 基于SSM和Vue的图书馆座位预约系统小程序 这篇博文将介绍一个基于SSM框架和Vue开发的图书馆座位预约系统微信小程序&#xff0c;适合用于Java毕业设计。 功能介绍 用户 登录 注册 首页 图片轮播 关于我们 公告信息 图书馆信息 图书馆详情 预约选座 收藏 …...

【C++11】:lambda表达式function包装器

目录 前言一&#xff0c;可变参数模板1.1 简单认识1.2 STL容器中的empalce系列相关接口 二&#xff0c;lambda表达式2.1 lambda表达式语法2.2 探索lambda底层 三&#xff0c;包装器3.1 function包装器3.2 bind 四&#xff0c;类的新功能4.1 默认成员函数4.2 关键字default4.3 关…...

[io]进程间通信 -有名、无名管道 区别

有名管道和无名管道的区别 无名管道有名管道 使用场景 亲缘关系进程不相关的任意进程特点 1.固定读端fd[0]写端fd[1] 2.文件IO进行操作 3.不支持lseek&#xff08;&#xff09;操作 4.数据存储在内核空间 1.文件系统中存在管道文件 2.文件IO操作 3.不支持lseek 4.先进先出 5.数…...

pywinauto:Windows桌面应用自动化测试(七)

前言 上一篇文章地址&#xff1a; pywinauto&#xff1a;Windows桌面应用自动化测试&#xff08;六&#xff09;-CSDN博客 下一篇文章地址&#xff1a; 暂无 一、实战常用方法 1、通过Desktop快速获取窗口 通过之前章节我们了解到控制应用的方法为Application&#xff0…...

RGB++是什么;UTXO是什么;Nervos网络;CKB区块链;

目录 RGB++是什么,简单举例说明 RGB++简介 举例说明 UTXO是什么 定义 功能与特点 使用方式 优缺点 结论 CKB区块链 一、基础属性 二、技术特点 三、经济模型 四、应用场景 Nervos网络 一、网络架构 二、技术特点 三、经济模型 四、应用场景 五、未来展望 …...

轻闪PDF v2.14.9 解锁版下载与安装教程 (全能PDF转换器)

前言 轻闪PDF(原傲软PDF编辑软件)是一款操作简单的全能PDF转换器,轻松实现PDF转换为Word,Excel或其他格式,以及PDF压缩,合并和图片文字识别OCR等功能.这款pdf编辑转换软件几乎支持所有常见文档格式,一键完成PDF与其他文档互相转换,并含有PDF合并,压缩,图片文字识别OCR等增值功…...

mysql 5.7 解析binlog日志,并统计每个类型语句(insert、update、delete)、每个表的执行次数

1、mysqlbinlog工具 使用mysqlbinlog工具将文件中执行语句解析至某个文件中。 /usr/local/mnt/mysql/bin/mysqlbinlog --base64-outputDECODE-ROWS -v /usr/local/mnt/mysql/log/mysql-bin.017278 > binlog017278.sql --base64-outputDECODE-ROWS 参数&#xff1a; 这个…...

MySQL案例:MHA实现主备切换(主从架构)万字详解

目录 MHA 概念 MHA的组成 特点 案例介绍 &#xff08;1&#xff09;案例需求 &#xff08;2&#xff09;案例实现思路 &#xff08;3&#xff09;案例拓扑图 &#xff08;4&#xff09;案例环境 案例步骤 基本环境配置 关闭防火墙和内核安全机制 安装数据库 授权…...

Waveforms实战指南:基于React的交互式波形可视化深度解析

Waveforms实战指南&#xff1a;基于React的交互式波形可视化深度解析 【免费下载链接】waveforms An interactive, explorable explanation about the peculiar magic of sound waves. 项目地址: https://gitcode.com/gh_mirrors/wa/waveforms 在音频处理、信号分析和数…...

OCRmyPDF:让扫描PDF焕发新生的开源解决方案

OCRmyPDF&#xff1a;让扫描PDF焕发新生的开源解决方案 【免费下载链接】OCRmyPDF OCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched 项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDF 在数字化办公的浪潮中&#xff0c…...

COMSOL报错别慌!像程序员一样‘调试’你的多物理场模型(附分步屏蔽法)

COMSOL报错别慌&#xff01;像程序员一样‘调试’你的多物理场模型 面对COMSOL多物理场耦合模型报错时&#xff0c;许多工程师会陷入"哪里出错—如何修复"的循环焦虑。实际上&#xff0c;这类问题最有效的解决方式不是盲目修改参数&#xff0c;而是建立系统化的调试思…...

foobox-cn:foobar2000现代化DUI皮肤配置的终极音乐管理方案

foobox-cn&#xff1a;foobar2000现代化DUI皮肤配置的终极音乐管理方案 【免费下载链接】foobox-cn DUI 配置 for foobar2000 项目地址: https://gitcode.com/GitHub_Trending/fo/foobox-cn foobox-cn是为foobar2000播放器设计的现代化默认用户界面&#xff08;DUI&…...

收藏备用!小红书二面大模型面试题:Agent 基本架构核心组件详解(小白也能看懂)

很多程序员和大模型小白反馈&#xff0c;最近小红书二面被问到了一道高频题&#xff1a;「Agent 的基本架构由哪些核心组件构成&#xff1f;」&#xff0c;这道题看似基础&#xff0c;却能快速考察对 Agent 核心逻辑的理解&#xff0c;不管是面试还是日常学习都必须掌握。今天就…...

掌握MediaPipeUnityPlugin:从0到1的面部表情捕捉实践指南

掌握MediaPipeUnityPlugin&#xff1a;从0到1的面部表情捕捉实践指南 【免费下载链接】MediaPipeUnityPlugin Unity plugin to run MediaPipe 项目地址: https://gitcode.com/gh_mirrors/me/MediaPipeUnityPlugin 在Unity开发中&#xff0c;实现高精度面部表情捕捉常面临…...

Phi-4-reasoning-vision-15B在金融图表分析中的实战:趋势识别与异常定位

Phi-4-reasoning-vision-15B在金融图表分析中的实战&#xff1a;趋势识别与异常定位 1. 金融图表分析的挑战与机遇 金融从业者每天需要分析大量图表数据&#xff0c;从K线图到财务报表&#xff0c;从趋势分析到异常检测。传统的人工分析方法存在三个明显痛点&#xff1a; 效…...

Qwen3-0.6B-FP8在SolidWorks设计中的应用探索

Qwen3-0.6B-FP8在SolidWorks设计中的应用探索 1. 引言 作为一名机械设计师&#xff0c;你是否曾经遇到过这样的困扰&#xff1a;在SolidWorks中反复调整参数却始终达不到理想效果&#xff0c;或者设计完成后才发现某个关键尺寸存在冲突&#xff1f;传统的设计流程往往依赖设计…...

OpenSSL实战:手把手教你创建自签名根证书

1. 为什么需要自签名根证书&#xff1f; 想象一下你正在搭建一个内部测试环境&#xff0c;或者为公司的内部系统建立一套专属的安全通信机制。这时候你会发现&#xff0c;所有涉及HTTPS的环节都需要SSL/TLS证书。如果直接购买商业CA颁发的证书&#xff0c;不仅成本高&#xff…...

VCAM虚拟摄像头:革新移动设备视觉交互的技术探索

VCAM虚拟摄像头&#xff1a;革新移动设备视觉交互的技术探索 【免费下载链接】com.example.vcam 虚拟摄像头 virtual camera 项目地址: https://gitcode.com/gh_mirrors/co/com.example.vcam VCAM虚拟摄像头是一款基于Xposed框架的安卓应用&#xff0c;通过HOOK技术&…...