(一)八股(数据库/MQ/缓存)


文章目录

  • 项目地址
  • 一、数据库
    • 1.1 事务隔离级别
      • 1. 事务的四大特性
      • 2. Read Uncommited脏读(未提交读)
      • 3. Read Commited幻读(sql默认已提交读)
      • 4. Repeatable Read
      • 5. Serializable
      • 6. Snapshot(快照隔离)
      • 7. 代码开启
      • 8. For update和Repeatable Read的区别
    • 1.2 各种锁
      • 1. 乐观锁 row version
      • 2. 悲观锁 for update
      • 3. 间隙锁
    • 1.3 索引
      • 1. 索引失效
  • 二、MQ
    • 2.1 MQ
      • 1. 为什么引入?优缺点
      • 2. MQ高可用
      • 3. 幂等
      • 4. 消息丢失
      • 5. 消息积压处理
      • 6. 让我设计一个mq
      • 7. massTrainsit对接mq
  • 三、Redis缓存
    • 3.1 基础问题
      • 1. 作用
      • 2. 使用后产生的问题
      • 3. 高可用
      • 4. redis的数据类型
    • 3.2 过期策略


项目地址

  • 教程作者:
  • 教程地址:
  • 代码仓库地址:
  • 所用到的框架和插件:
dbt 
airflow

一、数据库

1.1 事务隔离级别

1. 事务的四大特性

  • Transaction Isolation Level,

在这里插入图片描述

2. Read Uncommited脏读(未提交读)

可以读取到别的事务未提交的数据

  • 原理:当前A事务可以读其他事务B未提交的数据,B事务可能回滚也可能不回滚
  • 特点:性能高,并发高,但数据不可靠
  • 场景:报表和统计使用

3. Read Commited幻读(sql默认已提交读)

只能读取已提交的数据,和uncommited相反,幻读不能避免

  • 原理:事务A只能读取已经提交的事务
  • 特点:避免了脏读,但会出现,幻读(两次查询结果结果行数不同,)
  • 场景:大部分的OLTP系统

4. Repeatable Read

读过的行会被加锁,防止读过的行被修改,幻读不能避免

  • 原理:事务A执行期间,读过的行会被加锁,直到事务结束,会有row version
  • 特点:避免了脏读和不可重复读,但是不能避免幻读,①别的事务可以读取当前事务的锁的值;②别的事务可以插入符合条件的行
  • 场景:银行扣款,保持余额一致

5. Serializable

将所有事务串行

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

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

相关文章

STM32H750 CoreMark跑分测试

STM32H750 CoreMark跑分测试🔎CoreMark跑分测试查询网站:https://www.eembc.org/coremark/scores.php📜 CoreMark源码:https://www.github.com/eembc/coremarkCoreMark移植和配置参考:https://community.st.com/t5/stm…

RabbitMQ如何确保消息发送和消息接收

消息发送确认 1 ConfirmCallback方法 ConfirmCallback 是一个回调接口,消息发送到 Broker 后触发回调,确认消息是否到达 Broker 服务器,也就是只 确认是否正确到达 Exchange 中。 2 ReturnCallback方法 通过实现 ReturnCallback 接口&#xf…

Linux:进程间通信-管道

Linux:进程间通信-管道 前言:为什么需要进程间通信? 你有没有想过,当你在电脑上同时打开浏览器、音乐播放器和文档时,这些程序是如何协同工作的?比如,浏览器下载的文件,为什么能被文…

Jmeter + FFmpeg 直播压测遇到的问题及解决方案

1、压测机安装FFmpeg,下载安装步骤可见:https://zhuanlan.zhihu.com/p/692019886 2、Jmeter与FFmpeg位数要一致,不允许在32位的进程中运行一个64位的程序,反之亦然 3、OS进程取样器(Thread Group -> Add -> Sa…

安卓app、微信小程序等访问多个api时等待提示调用与关闭问题

安卓app、微信小程序访问webapi,将需要一时间,我们称之为耗时操作,其它诸如密集型计算、访问文件与设备等亦是如此。在这个期间我们应该跳出提示,告知用户正在等待,并且很多时候,在等待时不允许用户再对UI进…

一个状态机如何启动/停止另一个状态机

一个状态机如何启动/停止另一个状态机 这个过程主要依赖于动作列表(Action List) 中的特定动作项和状态管理服务(ARA::SM)提供的API。 1. 通过动作列表(Action List)进行预配置控制 这是最常见的方式&#…

基于IPO智能粒子优化的IIR滤波器参数识别算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.部分程序 4.算法理论概述 5.完整程序 1.程序功能描述 IIR(Infinite Impulse Response)滤波器即无限冲激响应滤波器,其输出不仅与当前和过去的输入有关,还与过去的输出…

欧州服务器String 转 double 有BUG?

string 转 double 的常见问题通常与文化差异、格式解析或特殊值处理相关,而非框架本身的 “BUG”。以下是可能导致转换异常的常见场景及解决方案: 文化差异导致的解析问题 现象:同样的字符串(如 “1.23” 或 “1,23”)…

鸿蒙中网络诊断:Network分析

上面的图很熟悉吧 Network 面板的表格列出了所有请求,每一列都提供了关键信息: Name: 请求的资源名称和路径。 Status: HTTP 状态码(诊断核心)。200成功,304未修改(缓存),404找不到…

HarmonyOS 实战:6 种实现实时数据更新的方案全解析(含完整 Demo)

摘要 在当下的应用开发中,用户体验越来越依赖“实时性”。消息要第一时间送达、订单状态要立刻刷新、数据变化不能延迟……这些需求推动了“实时数据更新”成为应用的必备功能。在鸿蒙系统(HarmonyOS)中,我们既可以用系统内置的数…

第十六届蓝桥杯青少组C++省赛[2025.8.10]第二部分编程题(4、矩阵圈层交错旋转)

参考程序&#xff1a;#include <bits/stdc.h> using namespace std;const int MAXN 105; int a[MAXN][MAXN];int main() {int n;if (!(cin >> n)) return 0;for (int i 0; i < n; i)for (int j 0; j < n; j)cin >> a[i][j];int layers n / 2; // 每…

AI供应链情报预警 | 恶意Py包伪装AI框架库开展数据窃密及应用劫持攻击

AI供应链情报概述近日&#xff08;18th Aug. , 2025&#xff09;&#xff0c;悬镜安全情报中心在Python官方仓库中捕获1起伪装成知名AI框架库pytensor&#xff08;https://pypi.org/project/pytensor&#xff09;的组件投毒事件。在北京时间8月18日凌晨&#xff0c;投毒者连续发…

AI需要防火墙,云计算需要重新构想

Akamai创始人Tom Leighton欲终结云膨胀&#xff0c;从内到外守护AI安全 Akamai创始人Tom Leighton 当前超大规模云服务商主导着企业IT市场&#xff0c;鲜有人敢挑战云计算经济模式、AI基础设施和网络安全架构的现状。但Akamai联合创始人兼CEO Tom Leighton正是这样的挑战者。他…

线段树详解【数据结构】

简介 线段树是一种应用极其广泛&#xff0c;使用范围较广并且非常知名的树形数据结构&#xff0c;主要用于进行区间操作&#xff0c;如区间修改&#xff0c;区间查询等。这种数据结构唯一的不足就是巨大的代码量&#xff0c;因此处理一些较简单的问题时建议用树状数组。 原理…

Maven 入门与进阶:聚合、继承与生命周期详解

Maven 是 Java 项目管理的核心工具&#xff0c;其强大的依赖管理、项目构建和模块化设计能力&#xff0c;极大地提升了开发效率。本文将深入探讨 Maven 的 聚合&#xff08;Multi-module&#xff09;、继承&#xff08;Inheritance&#xff09; 和 生命周期&#xff08;Lifecyc…

手搓MCP客户端动态调用多MCP服务,调用哪个你说了算!

01 引言 前两天&#xff0c;有个粉丝朋友咨询MCP服务如何动态调用&#xff0c;动态加载MCP服务的链接&#xff1f;我们都知道MCP客户端可以配置多个MCP服务的地址&#xff1a; spring.ai.mcp.client.sse.connections.server1.urlhttp://localhost:xxxx spring.ai.mcp.client.ss…

Go语言中的优雅并发控制:通道信号量模式详解

在Go语言的并发编程中&#xff0c;“通过通信共享内存”的设计哲学贯穿始终。当面对高并发场景时&#xff0c;无限制创建goroutine可能导致资源耗尽、CPU过载等问题&#xff0c;通道信号量模式&#xff08;Channel Semaphore Pattern&#xff09; 正是一种基于Go通道特性的优雅…

鸿蒙 NEXT开发中轻松实现人脸识别功能

大家好&#xff0c;我是 V 哥。 今天给大家介绍在 HarmonyOS 原生鸿蒙开发中&#xff0c;实现人脸识别功能&#xff0c;这个功能在常用的 APP 开发中上镜率还是很高的&#xff0c;在传统的 Android 或 iOS 开发中&#xff0c;通常我们要借助第三方库来实现&#xff0c;而在鸿蒙…

华为开发者空间训练营-优秀作品公布

排名标题总分奖品1手把手教你开发一个地区智能查询MCP&#xff0c;赋能地理位置类MCP服务的“零输入”无感交互95华为 freebuds 6i 蓝牙耳机2基于华为开发者空间云主机DeepSeek助力电商企业AI海报文案驱动的最佳实践落地 94华为 freebuds 6i 蓝牙耳机32小时基于华为开发者空间和…

基于Python与Tkinter开发的微博多功能自动化助手

文章目录 摘要 1. 背景与意义 2. 需求分析 3. 核心架构设计 3.1. 技术选型 3.2. 核心思想:UI与逻辑分离的异步架构 4. 深度模块化剖析 4.1. 微博核心API交互模块 4.2. 健壮性设计:代理与重试机制 4.3. GUI界面模块 (WeiboApp 类) 4.4. 异步任务处理模块 5. 难点分析与解决方案…