Spring Boot 4.x 整合 MyBatis-Plus
Spring Boot 4.x 整合 MyBatis-Plus 本小节中,我们来为后端服务整合数据库持久层框架 —— MyBatis-Plus ,实现对数据库的增删改查。 1. 什么是 MyBatis ? MyBatis 是一个用 Java 编写的持久层框架,它简化了数据库交互的过程,将 SQL 语
MySQL常见面试题
MySQL常见面试题 :泡泡_滑稽::泡泡_啊: 如何定位慢查询 解决方案 使用成熟的开源工具: 调试工具:Arthas 运维工具:Prometheus 、Skywalking MySQL自带的慢日志(调试阶段开启,生产阶段关闭) 慢查询日志记录了所有执行时间超过指定参数(long_query_ti
Redis面试常见题
Redis面试常见题 缓存穿透 定义:查询一个不存在的数据,DB查询不到数据也不会直接写入缓存,就会导致每次请求都查数据库(如果有人恶意攻击,会击垮数据库)。 解决办法: 缓存空数据,查询返回的数据为空,仍然把这个空结果进行缓存 优点:实现简单。 缺点:消耗内存,可能发生数据不一致的问题 使用布隆过
Mysql和Redis双写不一致问题怎么解决?
Mysql和Redis双写不一致问题怎么解决? 在后端面试中,只要简历上写了 Redis,这道题是 100% 必问的: “怎么保证缓存和数据库的数据一致性?” 很多同学上来就背八股文:“延时双删、加分布式锁…” 但在面试官眼里,这道题考的不是死记硬背,而是你有没有处理过真实的线上事故。 因为在生产环
Redis 主从 + 哨兵 高可用环境搭建脚本(改进版)
Redis 主从 + 哨兵 高可用环境搭建脚本(改进版) #!/bin/bash
# ================================================
# Redis 主从 + 哨兵 高可用环境搭建脚本(改进版)
# ========================
聊聊@Transactional注解和事务的使用
聊聊@Transactional注解和事务的使用 @Transactional 注解相信大家并不陌生,平时开发中很常用的一个注解,它能保证方法内多个数据库操作要么同时成功、要么同时失败。使用@Transactional注解时需要注意许多的细节,不然你会发现@Transactional总是莫名其妙的就
MyBatis 详细使用说明文档:从环境配置到复杂查询的全面指南
MyBatis 详细使用说明文档:从环境配置到复杂查询的全面指南 引言 MyBatis 是一个一流的持久层框架,专为简化 Java 应用程序中的 SQL 操作而设计。它支持自定义 SQL、存储过程和高级映射,旨在消除大部分 JDBC 样板代码,并实现参数的自动设置及结果的自动检索。与传统的全功能对象
MySQL的最左原则
MySQL的最左原则 一、简述 MySQL索引的最左原则指的是,当使用多列索引时,MySQL会优先使用索引中最左边的列。如果查询条件中包含了索引的最左列,那么MySQL会使用这个索引来加速查询。 更具体的描述:建立一个索引,对于索引中的字段,mysql会一直向右匹配直到遇到范围查询(>、<、betw
MySQL数据库基础知识点总结
MySQL数据库基础知识点总结 一、概念 数据库:DataBase,简称DB。按照一定格式存储数据的一些文件的组合顾名思义: 存储数据的仓库,实际上就是一堆文件。这些文件中存储了具有特定格式的数据。 数据库管理系统:DataBaseManagement,简称DBMS。数据库管理系统是专门用来管理数据
Redis数据库基础
Redis数据库基础 Redis是基于内存的非关系数据库,主要用于解决缓存问题,储存key-value类型的数据,其中value可以有多种属性。 1.数据类型 字符串(String) 最基本的也是最重要的数据类型 哈希(Hash) 也被称之为散列,类似于Java的HashMap结构 列表(List)