2021年11月16日
摘要: 再接再厉吧 既然开通的个人公众号,那以后就要更加严谨,认真的去写每一篇文章。公众号名字随便取的,叫了个 后端元宇宙,哈哈。希望大家多多关注支持呀。 以后文章优先推送公众号哈 阅读全文
posted @ 2021-11-16 13:53 雨点的名字 阅读(148) 评论(4) 推荐(2) 编辑
  2022年1月16日
摘要: 在生产环境中如果出现MySQL死锁问题该如何排查和解决呢,本文将模拟真实死锁场景进行排查,最后总结下实际开发中如何尽量避免死锁发生。 一、准备好相关数据和环境 当前自己的数据版本是8.0.22 mysql> select @@version; + + | @@version | + + | 8.0. 阅读全文
posted @ 2022-01-16 21:50 雨点的名字 阅读(256) 评论(0) 推荐(1) 编辑
  2022年1月10日
摘要: 高可用有两个含义:一是数据尽量不丢失,二是保证服务尽可能可用。 AOF 和 RDB 数据持久化保证了数据尽量不丢失,那么多节点来保证服务尽可能提供服务。 一般在实际生产中,服务不会部署成单节点,主要是有三个原因. 容易出现单点故障,导致服务不可用 单节点处理所有的请求,吞吐量有限 单节点容量有限 为 阅读全文
posted @ 2022-01-10 21:04 雨点的名字 阅读(18) 评论(0) 推荐(0) 编辑
  2022年1月5日
摘要: 为什么要持久化 Redis是内存数据库,如果不将内存中的数据库状态保存到磁盘中,那么一旦服务器进程退出,服务器的数据库状态就会消失(即断电即失)。为了保证数据不丢失,我们需要将 内存中的数据存储到磁盘,以便 Redis 重启时能够从磁盘中恢复原有的数据,而整个过程就叫做 Redis 持久化。 Red 阅读全文
posted @ 2022-01-05 21:07 雨点的名字 阅读(334) 评论(1) 推荐(5) 编辑
  2021年12月30日
摘要: 前言 如果问你redis有哪些数据结构,你肯定可以一口气说出五种基本数据结构: String(字符串)、Hash(哈希)、List(列表)、Set(集合)、zset(有序集合) 你或许还知道它还有三种特殊的数据结构类型:Geospatial、Hyperloglog、Bitmap。 但如果问你在实际项 阅读全文
posted @ 2021-12-30 21:14 雨点的名字 阅读(94) 评论(0) 推荐(0) 编辑
  2021年12月22日
摘要: Redis作为高性能非关系型(NoSQL)的键值对数据库,受到了广大用户的喜爱和使用,大家在项目中都用到了Redis来做数据缓存,但有些问题我们在使用中不得不考虑,其中典型的问题就是:缓存穿透、缓存雪崩、缓存击穿和与关系型数据库的一致性。 一、缓存穿透 1、概念 缓存穿透是指查询一个缓存和数据库不存 阅读全文
posted @ 2021-12-22 22:47 雨点的名字 阅读(702) 评论(0) 推荐(2) 编辑
  2021年12月13日
摘要: 生成间隙(gap)锁、临键(next-key)锁的前提条件 是在 RR 隔离级别下。 有关Mysql记录锁、间隙(gap)锁、临键锁(next-key)锁的一些理论知识之前有写过,详细内容可以看这篇文章 一文详解MySQL的锁机制 这篇主要通过小案例来对记录锁、间隙(gap)锁、临键(next-ke 阅读全文
posted @ 2021-12-13 09:18 雨点的名字 阅读(457) 评论(0) 推荐(2) 编辑
  2021年12月10日
摘要: 本文会详细介绍Spring Validation各种场景下的最佳实践及其实现原理,死磕到底! 项目源码:spring-validation 一、简单使用 Java API规范(JSR303)定义了Bean校验的标准validation-api,但没有提供实现。hibernate validation 阅读全文
posted @ 2021-12-10 09:42 雨点的名字 阅读(139) 评论(0) 推荐(0) 编辑
  2021年12月3日
摘要: 一、删除远程仓库上被忽略的文件 由于种种原因,一些本应该被忽略的文件被我们误操作提交到了远程仓库了。那么我们该怎么删除这些文件呢? 以误提交了.idea目录为例,我们可以通过下面的步骤处理: 1)我们首先应该清除暂存区的.idea文件,执行命令 # -r代表删除的是文件或者文件夹 --cached 阅读全文
posted @ 2021-12-03 13:46 雨点的名字 阅读(510) 评论(1) 推荐(2) 编辑
  2021年12月1日
摘要: 在SpringBoot的大环境下,基本上很少使用之前的xml配置Bean,主要是因为这种方式不好维护而且也不够方便。 因此本篇博文也不再介绍Spring中通过xml来声明bean的使用方式。 一、注解装配Bean 1、使用@Component等派生注解 只要在类上加类上加 @Component 注解 阅读全文
posted @ 2021-12-01 09:31 雨点的名字 阅读(705) 评论(0) 推荐(1) 编辑
  2021年11月25日
摘要: 一、前言 单例模式无论在我们面试,还是日常工作中,都会面对的问题。但很多单例模式的细节,值得我们深入探索一下。 这篇文章透过单例模式,串联了多方面基础知识,非常值得一读。 1、什么是单例模式? 单例模式是一种非常常用的软件设计模式,它定义是 单例对象的类只能允许一个实例存在。 该类负责创建自己的对象 阅读全文
posted @ 2021-11-25 11:15 雨点的名字 阅读(790) 评论(4) 推荐(4) 编辑
  2021年11月23日
摘要: 一、表级锁、行级锁、页级锁 数据库锁定机制简单来说,就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则。 MySQL数据库由于其自身架构的特点,存在多种数据存储引擎,每种存储引擎的锁定机制都是为各自所面对的特定场景而优化设计,所以各存储引擎的锁定机制也有较大区别。 阅读全文
posted @ 2021-11-23 09:19 雨点的名字 阅读(718) 评论(0) 推荐(3) 编辑
  2021年11月22日
摘要: 高并发下如何设计秒杀系统?这是一个高频面试题。这个问题看似简单,但是里面的水很深,它考查的是高并发场景下,从前端到后端多方面的知识。 秒杀一般出现在商城的促销活动中,指定了一定数量(比如:10个)的商品(比如:手机),以极低的价格(比如:0.1元),让大量用户参与活动,但只有极少数用户能够购买成功。 阅读全文
posted @ 2021-11-22 09:18 雨点的名字 阅读(3237) 评论(23) 推荐(50) 编辑
  2021年11月17日
摘要: 前言 在MySQL的众多存储引擎中,只有InnoDB支持事务,所有这里说的事务隔离级别指的是InnoDB下的事务隔离级别。 MySQL 是支持多事务并发执行的。否则来一个事务处理一个请求,处理一个人请求的时候,其它事务都等着,那估计都没人敢用MySQL作为数据库,因为用户体验太差,估计都要砸键盘了。 阅读全文
posted @ 2021-11-17 09:13 雨点的名字 阅读(536) 评论(0) 推荐(2) 编辑
  2021年11月16日
摘要: 再接再厉吧 既然开通的个人公众号,那以后就要更加严谨,认真的去写每一篇文章。公众号名字随便取的,叫了个 后端元宇宙,哈哈。希望大家多多关注支持呀。 以后文章优先推送公众号哈 阅读全文
posted @ 2021-11-16 13:53 雨点的名字 阅读(148) 评论(4) 推荐(2) 编辑
  2021年11月3日
摘要: 正式开始之前,我们先来看下 MySQL 服务器的配置和版本号信息,如所示: select version(); -- 版本为 8.0.22 “兵马未动粮草先行”,看完了相关的配置之后,我们先来创建一张测试表和一些测试数据。 -- 如果存在 person 表先删除 DROP TABLE IF EXIS 阅读全文
posted @ 2021-11-03 21:22 雨点的名字 阅读(421) 评论(1) 推荐(3) 编辑