分布式基础

CAP 原则? 一个分布式系统中,一致性、可用性、分区容错性这三个基本需求 最多只能同时满足其中的两个 一致性:数据在多个副本之间保持一致 可用性:系统提供的服务必须一直出于可用的状态,每次请求都能获取...

微服务架构

微服务架构? 微服务是一种架构模式 将应用程序拆分为多个小的服务 服务之间相互协调,相互配合 每个服务运行在独立的进程中 服务与服务之间通过 RESTful API 的方式互相通信 每个服务之间都能独立部署、维护和...

缓存原理

Redis 缓存原理 Redis 的缓存机制主要依赖于其高性能的内存存储和一系列高级功能,包括数据持久化、数据过期策略和数据结构多样性等 下面概括一下 Redis 在缓存方面的一些核心原理: 存储与检索 内存存储:Redis...

MyBatis

什么是 MyBatis MyBatis 是一个半 ORM 框架,内部封装了 JDBC,使得开发时只需要关注 SQL 语句本身,不需要处理加载驱动、创建连接等复杂的过程 通过 XML 文件和注解配置,并通过 Java 对象和 statement 的动态...

RabbitMQ

为什么要使用消息队列呢? 解耦 异步 削峰 消息队列有哪些消息模型? 队列模型 发布/订阅模型 什么是 RabbitMQ 采用 AMQP 的一种消息队列技术 消费不需要确保提供方的存在,实现服务之间的高度解耦 ![[Paste...

Redis

Hash 类型的底层数据结构 hash 底层的结构是 ziplist 和 hashtable 默认情况下: 当 ziplist 中 entry 的数量超过 512 的时候,会转成 hashtable 单个元素的值超过 64 字节的时候,会转成 hashtable 在 Redis ...

MVCC

什么是 MVCC? MVCC,即Multi-Version Concurrency Control (多版本并发控制) 在数据库管理系统中,实现对数据库的并发访问 数据库中同时存在多个版本的数据,并不是整个数据库的多个版本,而是某一条记录的多...

MySQL_锁机制

什么是锁?MySQL 中提供了几类锁? 锁是实现数据库并发控制的重要手段,可以保证数据库在多人同时操作时能够正常运行 排他锁(写锁),共享锁(读锁) 乐观锁,悲观锁 全局锁,表锁,行锁,页锁 什么是死锁? 死...

MySQL_事务

什么是数据库事务 事务,由一个有限的数据库操作序列构成,这些操作要么全部执行,要么全部不执行 为什么要有事务呢? 保证数据的最终一致性 项目中遇到的事务 下单减库存 事务的传播机制 事务的特性? ACID ...

MySQL_索引

什么是索引? 索引是一种帮助 MySQL 提高查询效率的数据结构 索引分别有哪些优点和缺点? 索引的优点: 提高查询效率 索引的缺点: 虽然提高了查询速度,但却降低了更新表的速度 因为更新数据时,MySQL 不仅要...