2023-03-28 1123 阅读 实用干货 🌋 💡 提升JavaScript 加载速度的10种方式 在许多现代网站中,有大量的JavaScript。事实上,根据HTTP统计,平均每个页面有超过500KB的JavaScript。问题是,JavaScript的下载和解析都需要时间,这使得网站的加载速度大大降低,从而影响了网站的保留率,因为如果一个网站的加载时间太长,用户就会离开。幸运的是,有一些简单的
2023-03-16 1118 阅读 实用干货 🌋 🧐 两万字详解InnoDB的锁 前言本文将跟大家聊聊InnoDb的锁,以及如何分析和解决死锁问题,希望对大家有帮助哈。为什么需要加锁呢?InnoDB的七种锁介绍一条SQL是如何加锁的RR隔离级别下的加锁规则如何查看事务加锁情况死锁案例分析1.为什么需要加锁?为什么需要加锁呢?在日常生活中,如果你心情不好想静静,不想被比别人打扰,你
2023-03-12 1113 阅读 实用干货 🌋 🤡 Redis分布式锁的10个坑 前言日常开发中,经常会碰到秒杀抢购等业务。为了避免并发请求造成的库存超卖等问题,我们一般会用到Redis分布式锁。但是使用Redis分布式锁,很容易踩坑哦~本文将给大家分析阐述,Redis分布式锁的10个坑~1.非原子操作(setnx+expire)一说到实现Redis的分布式锁,很多小伙伴马上就会
2023-03-07 1084 阅读 实用干货 🌋 😎 MySQL事务的12连问,你顶得住嘛 1.什么是数据库事务?事务,由一个有限的数据库操作序列构成,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。假如A转账给B100元,先从A的账户里扣除100元,再在B的账户上加上100元。如果扣完A的100元后,还没来得及给B加上,银行系统异常了,最后导致A的余额减少了,B的余额却没
2023-03-03 1095 阅读 实用干货 🌋 😶 select for update加了行锁还是表锁? 前言最近在开发需求的时候,用到了select......forupdate。在代码评审的时候,一位同事说,唯一索引+一个非索引字段,是否可能会锁全表呢?本文将通过9个实验操作的例子,给大家验证select......forupdate到底加了什么锁,是表锁还是行锁。因为加锁是跟数据库的隔离级别息息相
2023-02-26 1088 阅读 实用干货 🌋 🌋 图文并茂的带你彻底理解悲观锁与乐观锁 这是一篇介绍悲观锁和乐观锁的入门文章。旨在让那些不了解悲观锁和乐观锁的小白们弄清楚什么是悲观锁,什么是乐观锁。不同于其他文章,本文会配上相应的图解让大家更容易理解。通过该文,你会学习到如下的知识。锁(Lock)在介绍悲观锁和乐观锁之前,让我们看一下什么是锁。锁,在我们生活中随处可见,我们的门上有锁,