自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 面试官让你讲讲MySQL三大日志?(一篇带你搞定redo log,undo log,bin log)

引擎层的 Buffer Pool 是提高了读写效率没错,但是问题来了,Bufer Pool 是基于内存的,而内存总是不可靠,万一断电重启,还没来得及落盘的脏页数据就会丢失。为了防止断电导致数据丢失的问题,当有一条记录需要更新的时候,InnoDB 引擎就会先更新内存(同时标记为脏页),然后将本次对这个页的修改以redo log 日志的形式记录下来,这个时候更新就算完成了。

2025-09-20 15:04:30 774

原创 MySQL的存储引擎(一条sql语句的执行流程是什么样的?)

MySQL体系结构分为Server层和存储引擎层。Server层包含连接器、查询缓存、解析器、预处理器、优化器和执行器等核心组件,负责权限验证、SQL解析、优化和执行。存储引擎层以插件形式支持InnoDB、MyISAM等引擎,InnoDB因支持事务、行锁等特性成为默认引擎。查询缓存在8.0被移除,主要因为缓存失效频繁、命中率低等问题。执行UPDATE语句时,会经过连接验证、解析优化后,先写undo log记录旧值,再修改Buffer Pool并写入redo log buffer,最后通过两阶段提交确保bin

2025-09-20 14:59:52 1060

原创 Zookeeper 的集群搭建(单台linux、多台linux)手把手教学-原创

本文介绍了Zookeeper集群的搭建与配置方法。主要内容包括:1)集群角色划分(Leader、Follower、Observer)及其功能特点;2)单机多节点部署方案,重点说明zoo.cfg配置文件修改、myid文件创建和服务器启动流程;3)多机集群部署步骤,涉及服务器配置、端口设置和集群初始化;4)关键参数解释如tickTime、initLimit、syncLimit等。文章详细展示了配置文件示例,并提供了跨数据中心部署Observer节点的应用场景。通过本文可快速掌握Zookeeper集群搭建的核心技

2025-09-20 14:33:38 1525

原创 阿里云OSS上传文件Utils (@PostConstruct注解配置+Environment )

摘要:文章介绍了阿里云OSS文件上传工具类的实现方法。通过@PostConstruct注解在Bean初始化后读取application.yaml配置的OSS参数(bucketName、endpoint、accessKey等)。核心方法uploadFile()处理文件上传:获取文件信息,生成UUID文件名,将文件转为byte流,使用OSSClientBuilder创建客户端实例,执行PutObjectRequest请求上传文件,最后返回完整访问URL。类中包含了异常处理和资源关闭机制,确保上传过程安全可靠。

2025-06-27 19:55:23 283

原创 Springboot 配置 FastJson 替换 Jackson

FastJson是阿里巴巴开源的高性能JSON处理库,相比Jackson具有更快的解析速度。本文介绍了在SpringBoot项目中替换Jackson为FastJson的步骤:1)排除Jackson依赖;2)添加Fastjson2依赖包;3)配置Fastjson消息转换器,包括设置日期格式、字符集和特性配置;4)通过测试接口验证转换结果是否按照Fastjson规则输出。该方案支持多种媒体类型,能有效解决字段匹配、长整型精度、空值处理等常见问题。通过简单配置即可在项目中获得Fastjson的高效JSON处理能力

2025-06-26 17:02:23 674

原创 [vite 也能搭建vue2项目] 保姆级教学 ~~ vite3搭建 vue2.7.16项目

摘要:本文详细介绍了使用Vite3创建Vue2项目的完整流程。首先说明选择Vue2.7.16版本的原因,然后分步讲解:1)安装Vite3(需Node≥14);2)安装Vue2插件和依赖;3)配置vite.config.js文件;4)创建App.vue根组件和挂载实例;5)启动项目。重点解决了Vite默认不支持Vue2的问题,通过安装插件实现兼容,同时优化了项目结构配置。相比Vue CLI,Vite采用懒加载方式,项目启动速度更快。文中提供了完整的代码示例和配置说明,适合开发者快速搭建Vue2+Vite的开发

2025-06-21 16:28:24 1815

原创 Linux查看防火墙状态及启关闭命令(指定开放特定端口)

在CentOS 7中,防火墙的管理主要通过firewalld服务进行。用户可以使用systemctl status firewalld或firewall-cmd --state命令查看防火墙状态。关闭防火墙可以通过systemctl stop firewalld临时关闭,或使用systemctl disable firewalld永久关闭,后者需重启生效。开启防火墙则使用systemctl start firewalld临时开启,或systemctl enable firewalld永久开启,同样需重启生效

2025-05-14 10:58:59 866

原创 Mybatis自动提交事务没开启,这是怎么回事?

在使用 Mybatis 框架进行操作 mysql 数据库时,我们都知道这个框架是对 jdbc 的封装,在使用 jdbc 操作时,我们都会做一件事,开启事务,将自动提交事务改为手动提交事务,`connection.setAutoCommit(false)`,然后再自己手动的控制事务的提交现在使用 Mybatis 框架,那么这个事务的提交自动的?还是手动的呢?我就遇到了这个 bug,也不算 bug,算是一个我个人的知识盲区了,那我来讲讲 Mybatis 封装 jdbc 后,事务怎么提交,是自动提交还是手动。

2025-04-29 23:29:27 490

原创 前后端分离,跨域问题的解决,@CrossOrigin还是全局配置?

跨域问题是指浏览器出于安全考虑实施的同源策略(Same-Origin Policy)所导致的限制,当前端应用与后端API不在同一域名、协议或端口时,浏览器会阻止前端JavaScript代码访问跨域资源。这里的前端项目的端口是 5000 ,后端端口是 8081,下面就是属性跨域问题,前后端口不一致导致的。

2025-04-29 15:40:12 961

原创 Redis---哨兵模式---高可用---配图文字版详解

Redis的主从复制主要用于实现数据的冗余备份和读写分担,并不是为了提供高可用性。因此在系统高可用方面,单纯的主从架构无法很好的保证整个系统高可用,需要引入哨兵模式什么是哨兵模式?Redis哨兵模式是通过在独立的哨兵节点上运行特定的哨兵进程来实现的。这些哨兵进程监控主从节点的状态,并在发现故障时自动完成故障发现和转移并通知应用方,实现高可用性。

2025-02-20 00:46:47 1043

原创 Redis---(master 主从复制 slave)---超详细配图文字版

主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(Master),后者称为从节点(Slave);数据的复制是单向的,只能由主节点到从节点。默认情况下,每台Redis服务器都是主节点;且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。

2025-02-20 00:41:54 1167

原创 Redis的持久化-RDB-AOF 配图配文字超详细解读

重启 Redis 时,我们很少使用 RDB来恢复内存状态,因为会丢失大量数据。我们通常使用 AOF 日志重放,但是重放 AOF 日志性能相对 RDB来说要慢很多,这样在 Redis 实例很大的情况下,启动需要花费很长的时间。Redis 4.0 为了解决这个问题,带来了一个新的持久化选项——混合持久化。通过如下配置可以开启混合持久化(必须先开启aof):混合持久化如果开启了混合持久化,AOF在重写时,不再是单纯将内存数据转换为RESP命令写入AOF文件,而是将重写这一刻之前。

2025-02-14 21:13:52 1213

原创 SQL优化---慢查询 + Explain

查询某个数据库的sql执行频率,判断这个数据库是以查询为主,还是以增删改为主查询当前数据库select,insert,delete,update操作的次数# 后面是7个下划线我们需要配置一下 慢查询日志的存放路径编辑 mysql 的配置文件 my.cnf#慢查询日志永久性配置slow_query_log=1 # 开启慢查询slow_query_log_file=/var/lib/mysql/linux-zsh_01-slow.log # 慢查询路径。

2025-02-12 10:06:22 2611

原创 MySQL---面试---MVCC多版本并发控制---超详细,配图配文字讲解

在回答MVCC这个问题前,先自测问一下自己事务的特性?事务并发有什么问题?事务的隔离级别?没回答上来也没关系, 这里也有直达链接,帮助你回顾一下 :MySQL—面试—一篇文章带你回顾mysql的事务相关知识接下来开始我们的主角--->MVCC。

2025-02-02 20:49:56 2362 4

原创 MySQL---面试---谈谈你对MySQL事务的理解?

事务的四大特性,事务并发问题,事务隔离级别给你演示的清清楚楚,一下搞懂~!!!

2025-02-02 20:04:23 1021

原创 MySQL---实操---修改数据库的隔离级别

修改MySQL的事务的隔离级别,以便来适应某些特殊场景下的开发

2025-02-02 17:00:23 513

原创 MySQL---面试---MVCC真正解决了幻读问题吗?

先说结论 :MVCC没有彻底解决幻读问题,只是解决了快照读下的幻读,当前读下的幻读没有解决幻读: 在一个事务里,前后多次执行同一条sql,返回的结果不一样换句话说,指当前用户读取某一范围的数据行时,另一个事务又在该范围内插入了新行,当用户再读取该范围的数据行时,会发现有新的“幻影” 数据。当前读: 获取数据中最新的数据就是当前读,具体sql表现就是增删改,当然还有就是加锁读取// 共享锁for update;//排他锁//排他锁//排他锁//排他锁快照读。

2025-02-02 10:35:33 946 2

原创 MySQL---面试---索引为什么使用B+Tree?

本文是mysql的一道面试题,索引为什么使用b+树?

2025-02-02 01:37:32 2239 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除