当前位置: 首页 > 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;案例环境 案例步骤 基本环境配置 关闭防火墙和内核安全机制 安装数据库 授权…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制&#xff0c;因此这个了16进制的数据既可以翻译成为这个机器码&#xff0c;也可以翻译成为这个国标码&#xff0c;所以这个时候很容易会出现这个歧义的情况&#xff1b; 因此&#xff0c;我们的这个国…...

应用升级/灾备测试时使用guarantee 闪回点迅速回退

1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间&#xff0c; 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点&#xff0c;不需要开启数据库闪回。…...

YSYX学习记录(八)

C语言&#xff0c;练习0&#xff1a; 先创建一个文件夹&#xff0c;我用的是物理机&#xff1a; 安装build-essential 练习1&#xff1a; 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件&#xff0c;随机修改或删除一部分&#xff0c;之后…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域&#xff0c;高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表&#xff0c;以及基于它们实现的 Reactor 模式&#xff0c;为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA

浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求&#xff0c;本次涉及的主要是收费汇聚交换机的配置&#xff0c;浪潮网络设备在高速项目很少&#xff0c;通…...

基于IDIG-GAN的小样本电机轴承故障诊断

目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) ​梯度归一化(Gradient Normalization)​​ (2) ​判别器梯度间隙正则化(Discriminator Gradient Gap Regularization)​​ (3) ​自注意力机制(Self-Attention)​​ 3. 完整损失函数 二…...

LRU 缓存机制详解与实现(Java版) + 力扣解决

&#x1f4cc; LRU 缓存机制详解与实现&#xff08;Java版&#xff09; 一、&#x1f4d6; 问题背景 在日常开发中&#xff0c;我们经常会使用 缓存&#xff08;Cache&#xff09; 来提升性能。但由于内存有限&#xff0c;缓存不可能无限增长&#xff0c;于是需要策略决定&am…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

Golang——7、包与接口详解

包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...