【MVCC】MVCC之通过readview判断事务读取哪个版本(通俗易懂,一文详解!!) mvcc的实现,基于。(具体就如下图)在 MySQL 存储的数据中,MySQL 会默认添加一些额外的隐含字段(Hidden Field),包括trx_id和等字段。这些字段大多数是用于支持事务和数据恢复等功能。trx_id。
【Redis】Redis内存管理(带你一文速览!!) 因为内存是有限的,如果缓存中的所有数据都是一直保存的话,分分钟直接 Out of memory。另外很多时候,我们的业务场景就是需要某个数据只在某一时间段内存在,比如我们的短信验证码可能只在 1 分钟内有效,用户登录的 token 可能只在 1 天内有效。如果使用传统的数据库来处理的话,一般都是自己判断过期,这样更麻烦并且性能要差很多。
【Redis】Redis如何保证和MySQL数据库的数据一致性(带你一文了解) MySQL 支持事务,在需要保证一致性的操作中使用事务。通过,并使用 ACID(原子性、一致性、隔离性和持久性)的特性,可以保证 Redis 和 MySQL 数据的一致性。
【Spring事务】Spring事务的传播机制(通俗易懂) 传播级别一般不需要定义,默认就是PROPAGATION_REQUIRED,除非在嵌套事务的情况。上述描述表格的描述还是比较抽象,下面我们使用一个例子来说明这个传播机制。封装在数据库事务之上的一种事务处理机制。其管理方法有两种,分别是编程式事务以及声明式事务。一般我们使用@Transactional进行声明式事务。
【Docker】Linux下Docker 部署一个SpringBoot项目的完整流程(通俗易懂,简单上手!!) 【Docker】Linux下Docker 部署一个SpringBoot项目的完整流程(通俗易懂,简单上手!!)
【JVM】synchronized锁升级的过程 如果对象的Mark Word中的记录的线程ID为0,表示当前没有线程获取锁,则将该线程的ID记录到Mark Word当中,并将对象头指向偏向锁。当一个线程在自旋锁状态下无法获取到锁时,它会升级到重量级锁。重量级锁是一种阻塞锁,它会导致线程进入阻塞状态并释放CPU的执行权。需要注意的是,升级到重量级锁的过程并非是一成不变的,具体实现可能会有不同的策略和优化。锁的具体行为和性能表现还取决于。当一个线程访问被synchronized修饰的代码块的时候,并获取对象的锁时,会。
【Linux】lsof 和 ps命令(让你通晓它们的作用) lsof 和 ps 都是在 Linux 系统下用于的命令,但它们是有一些区别的,在本文中,我会首先分别介绍lsof命令和ps命令,之后将它们的区别进行对比。
【Linux】Linux突然发现CPU占用100%该怎么办?如何排查进程(带你一文解决) Linux的CPU发现占用率100%,一般会由什么情况引起?1、进程负载过高:一个或多个进程消耗了大量CPU资源,导致整个系统的CPU占用率升高。 可能的原因包括运行超过预期的任务、过度并发的请求、死循环等。2、错误配置的服务或应用程序:配置错误的服务或应用程序可能导致它们占用过多的CPU资源。 例如,错误的线程池配置、无限递归、频繁的IO操作等。3、恶意软件或病毒:恶意软件或病毒可能在系统中运行并消耗大量CPU资源。 这些恶意程序通常会伪装成正常的进程,使其更难以检测和终
【SpringBoot】带你迅速弄懂SpringBoot和Spring的区别(通俗易懂!!面试必考!) Spring是一个轻量级的开源Java框架,用于开发企业级Java应用程序。它提供了一系列的模块和工具,用于解决企业级应用程序开发中的各种问题,比如等。Spring可以通过Spring Boot是构建在Spring框架之上的一款开箱即用的框架,对Spring的一些功能做了增强并且简化了Spring应用程序中的开发和部署过程(),并且能够快速启动。SpringBoot采用了约定优于配置的原则,通过自动配置和默认值减少了繁琐的启动步骤,并提供了一系列的启动依赖,使得开发者能够更加专注业务逻辑的实现。