转型后原理、面试讲解
文章平均质量分 93
希望这里的文章可以帮助朋友们提高自己的专业技术水平
欢少的成长之路
这个作者很懒,什么都没留下…
展开
-
TCP与UDP的区别(上)
大家好,我是Leo。之前聊了 体系结构,消息流程,TCP粘包 。今天接着粘包继续看看TCP与UDP的区别有哪些。第一次握手:客户端将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给服务端,客户端进入SYN_SENT状态,等待服务端确认。第二次握手:服务端收到数据包后由标志位SYN=1知道客户端请求建立连接,服务端将标志位SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K,并将该数据包发送给客户端以确认连接请求,服务端进入SYN_RCVD状态。第三次握手:客户端收到确认后,检查a原创 2022-06-20 10:54:23 · 498 阅读 · 0 评论 -
3万字聊聊计算机网络(一)
大家好,我是Leo。之前聊过了 MySQL ,Redis,秒杀系统,RocketMQ。近2个月聊聊 计算机网络基础原理。整篇思路就是从体系结构开始,利用一个实际场景一步一步介绍每一层的含义与作用。在五层交互过程中,有一个高频问题就是TCP的沾包问题,我们从沾包入手。分别介绍了什么是沾包,为什么沾包,怎么处理沾包,UDP为什么不沾包等顺序。一系列交互,展开了介绍了影响网络性能的指标。OSI对比TCP/IP去掉了表示层和会话层,把网络层和物理层合二为一,变成了TCP/IP的网络接口层网上冲浪,肯定都会,比如早期原创 2022-06-11 23:39:29 · 200 阅读 · 0 评论 -
RocketMQ 消息发送流程
大家好,我是Leo。今天聊一下RocketMQ消息发送,重试机制,故障延迟机制,获取路由机制,消息队列的选择消息发送关系图首先放一下Broker Cluster,Broker,Topic,Queue的关系图。因为下文主要会沿着这四块进行梳理发送的三种方式消息发送的三种方式同步:发送者向MQ发送一条消息后,一直等待服务器返回成功才继续下一个。异步:发送者向MQ发送一条消息后,通过回调函数调用消息发布函数继续发送,主线程立即返回。单向:发送者向MQ发送一条消息后,直接返回,不等待消息服务器原创 2022-05-20 11:01:04 · 1414 阅读 · 0 评论 -
图文并茂,深入了解RocketMQ的内存映射机制
大家好,我是Leo。今天聊一下RocketMQ的内存映射机制传统文件IO机制假如没有使用mmap技术的时候,使用最传统和基本普通文件进行io操作会产生数据多拷贝问题。 比如从磁盘上把数据读取到内核IO缓冲区里面,然后再从内核IO缓冲区中读取到用户进程私有空间里去,然后我们才能拿到这个数据。如上图显示,可以明显的看出数据被拷贝了两次,这样肯定对磁盘读性能是有影响的。同样的如果想给磁盘中写内容,也是得先从用户进程的私有空间把数据拷贝到内核IO缓冲区,然后从内核IO缓冲区再拷贝到磁盘文件。原创 2022-05-13 10:20:12 · 537 阅读 · 0 评论 -
深入了解RocketMQ的过期删除机制
大家好,我是Leo。今天聊一下RocketMQ的文件过期删除机制本章概括源码定位Broker是RocketMQ的核心,提供了消息的接收,存储,拉取等功能我们可以先从Broker服务入手。从源码可以得知。RocketMQ启用了一个 BrokerController 的 start 函数public static void main(String[] args) { start(createBrokerController(args));}public static Broker原创 2022-05-06 14:57:41 · 2327 阅读 · 0 评论 -
深入源码聊聊RocketMQ刷盘机制
大家好,我是Leo。今天聊一下RocketMQ的三种刷盘机制。同步刷盘异步刷盘(RocketMQ默认)异步刷盘+缓冲区出自微信公众号【欢少的成长之路】本章概括同步刷盘整个同步刷盘策略由 FlushCommitLogService 与 GroupCommitService 实现。FlushCommitLogService 是 GroupCommitService 刷盘服务的父类,它是一个抽象类,本身没有实现,只是一个标记类,刷盘策略由子类负责完成。同步刷盘时,只有消息被真正持久化到磁原创 2022-05-05 14:15:55 · 626 阅读 · 0 评论 -
MySQL千万数据调研,order by 原理详解
大家好,我是Leo。之前聊的RocketMQ暂时放放,目前正在调研一个千万数据的处理方案。在做数据库结构优化时,遇到了 order by 调优点的问题。苦思冥想!觉得不了解 order by 的原理,无法把这个细节把控好。于是就来了这一篇。基础知识系列3万字聊聊什么是MySQL(初篇)3万字聊聊什么是Redis(完结篇)3万字聊聊什么是RocketMQ (三)2万字聊聊什么是秒杀系统(中)MySQL千万数据调研,一不小心打挂我系统大厂面试系列4万字聊聊阿里二面,保证你看不完聊聊Red原创 2022-04-15 23:34:05 · 1204 阅读 · 0 评论 -
MySQL千万数据方案调研,一不小心直接打挂我系统
大家好,我是Leo。之前聊的RocketMQ暂时放放,目前正在调研一个千万数据的处理方案。在准备测试数据的时候,执行了个 select 把我电脑内存打光了。然后OOM,黑屏,宕机。。基础知识系列3万字聊聊什么是MySQL(初篇)3万字聊聊什么是Redis(完结篇)3万字聊聊什么是RocketMQ (三)2万字聊聊什么是秒杀系统(中)大厂面试系列4万字聊聊阿里二面,保证你看不完聊聊Redis面试题本章概括对Server影响当执行下列代码时,因为InnoDB的数据是保存在主键索引原创 2022-04-14 09:35:10 · 920 阅读 · 0 评论 -
RocketMQ消息积压,异步方案,缓存策略解决方案
大家好,我是Leo。上一篇我们介绍了MQ分布式事务的相关实现MQ消息丢失,一致性问题在生产,存储,消费阶段如何解决消息重发之后,如何避免重复消费继上篇RocketMQ技术总结二,这篇主要介绍一下消息积压问题如何处理阅读源码的小技巧异步方案提升系统性能MQ的缓存策略基础知识系列3万字聊聊什么是MySQL(初篇)3万字聊聊什么是Redis(完结篇)3万字聊聊什么是RocketMQ (二)2万字聊聊什么是秒杀系统(中)大厂面试系列4万字聊聊阿里二面,保证你看不完聊聊Re原创 2022-04-14 09:32:38 · 3098 阅读 · 0 评论 -
MQ消息丢失,消息一致性,重复消费解决方案
大家好,我是Leo。这是开端的第三次循环了。当前正在正处于RocketMQ基础原理。3万字聊聊什么是RocketMQ(一)4万字聊聊阿里二面,保证你看不完聊聊Redis面试题2万字聊聊什么是秒杀系统(中)3万字聊聊什么是Redis(完结篇)3万字聊聊什么是MySQL(初篇)本章概括分布式事务由何而来我们在使用MQ在解决实际业务场景中的问题时,往往伴随诸多问题!比如如下图上述两种可能都会导致数据不一致,在业务系统中是 致命的问题!这个时候我们就要保证事务消息。要不全部成功,要不原创 2022-04-14 09:28:56 · 11900 阅读 · 0 评论 -
3万字聊聊什么是RocketMQ(一)
大家好,我是Leo。这是开端的第三次循环了。当前正在正处于RocketMQ基础原理。4万字聊聊阿里二面,保证你看不完聊聊Redis面试题3万字聊聊什么是Redis(完结篇)3万字聊聊什么是MySQL(初篇)2万字聊聊什么是秒杀系统(中)为什么需要消息队列?一个大型的系统中,随着业务量,数据体量逐渐变的复杂。越来越多的模块耦合在一起,相互调用,只要有一块出问题,几乎都是致命的。消息队列可以解决哪些场景?异步处理电商系统的整个流程还是非常长的,如果所有流程都同步执行的话。肯定是保证不了那原创 2022-04-02 13:50:31 · 835 阅读 · 0 评论 -
4万字聊聊阿里二面,能抗多少?
我是Leo。今天聊一下阿里二面。友情提示:觉得长收藏的时候请点右上角,底部弹出菜单点收藏。我怕你拉不到底部聊聊Redis面试题3万字聊聊什么是Redis(完结篇)3万字聊聊什么是MySQL(初篇)2万字聊聊什么是秒杀系统(中)目录导航MySQLSpringMybatis计算机基础与网络RocketMQRedis项目方案算法一、Java1.1 Java重写和重载的区别?重载: 重载就是可以允许在类中存在多个方法名的函数,他们具有相同的名字,但具有不同的参数和不同的参数个原创 2022-03-28 10:15:48 · 816 阅读 · 1 评论 -
2万字聊聊什么是秒杀系统(中)
大家好,我是Leo之前我们介绍了秒杀系统的五大原则,动静分离方案,二八原则,冷热处理的一些理论方案。今天我们接着上一篇,继续介绍一下大并发流量打过来之后,我们如何做一些削峰处理以及服务端的一些优化技巧。推荐阅读3万字聊聊什么是Redis(完结篇)3万字聊聊什么是MySQL(初篇)2万字聊聊什么是秒杀系统(上)流量削峰为什么削峰首先我们说一下为什么要削峰,不削峰会有什么影响呢?类似于公交车一样,早高峰,晚高峰是上车人最多的时候,除了这两个时间段白天运营的时候人是比较少的。这就导致了资源浪费。原创 2022-01-11 21:36:11 · 778 阅读 · 0 评论 -
2万字聊聊什么是秒杀系统(上)
大家好,我是Leo前段时间介绍了MySQL,Redis的相关技术。大概告一段落了,只能说对这两块技术调优,原理有了初步的认识,后续整个技术栈学的差不多的时候会回来做第二版的修订。推荐阅读3万字聊聊什么是Redis(完结篇)3万字聊聊什么是MySQL(初篇)福利每1-2周会选取前3名发一些书籍每个节日会选取前10名发一些书籍麻烦这三位在我公众号右下角点击联系我,加一下微信,发波书了最近不是在学习MySQL,Redis嘛。我们就找几本经典的书送一下比如:高性能MySQL,Redis设计原创 2022-01-08 17:18:36 · 771 阅读 · 0 评论 -
3万字聊聊什么是Redis(八完结篇)
大家好,我是Leo上一篇我们介绍了Redis处理并发的问题。Redis分布式锁的实现。RedLock算法。继上篇Redis技术总结七,我们继续聊聊Redis的相关技术!这篇主要是介绍一下Redis事务机制ACID的实现,Redis主从同步的实战细节问题,推荐阅读3万字聊聊什么是MySQL3万字聊聊什么是Redis(六)3万字聊聊什么是Redis(七)Redis如何实现事务ACID什么是ACIDRedis能否实现事务ACID属性呢?我们可以先来解释一下什么是ACIDA原子性原创 2021-12-30 21:48:33 · 497 阅读 · 0 评论 -
3万字聊聊什么是Redis(七)
大家好,我是Leo上一篇我们介绍了缓存和数据不一致性引发的问题不同的缓存类型以及解决访问。Redis常见的生产问题,缓存雪崩,击穿,穿透,由穿透又聊到了布隆过滤器缓存污染以及应用措施,顺带的聊了一下LFU和LRU的经典之处继上篇Redis技术总结六,我们继续聊聊Redis的相关技术!这篇主要是介绍一下Redis并发的解决方案推荐阅读3万字聊聊什么是MySQL3万字聊聊什么是Redis(一)3万字聊聊什么是Redis(二)3万字聊聊什么是Redis(三)3万字聊聊什么是Redis原创 2021-12-26 16:12:51 · 417 阅读 · 0 评论 -
3万字聊聊什么是Redis(六)
大家好,我是Leo继上篇Redis技术总结五,我们继续聊聊Redis的相关技术!上一篇我们介绍了缓冲区溢出调优方案。缓存类型,同步直写,异步写回策略。缓存淘汰策略,LRU,LFU算法的实现。脏缓存,干净缓存的判断依据这篇主要是介绍一下 缓存和数据库不一致,缓存污染,Redis解决大并发,Redis实现分布式锁。推荐阅读3万字聊聊什么是MySQL3万字聊聊什么是Redis(一)3万字聊聊什么是Redis(二)3万字聊聊什么是Redis(三)3万字聊聊什么是Redis(四)3万字原创 2021-12-19 11:03:56 · 678 阅读 · 0 评论 -
3万字聊聊什么是Redis(五)
大家好,我是Leo继上篇Redis技术总结四,我们继续聊聊Redis的相关技术!上一篇我们介绍了外在原因,内在原因对Redis的影响,外内在原因的调优方案。Redis的变慢之后的排查思路,变慢的解决方案。面试高频:内存占用率怎么那么高的一系列分析这篇主要是介绍一下 Redis 缓冲区,推荐阅读3万字聊聊什么是MySQL3万字聊聊什么是Redis(一)3万字聊聊什么是Redis(二)3万字聊聊什么是Redis(三)3万字聊聊什么是Redis(四)缓冲区缓冲区主要就是用一块内存空原创 2021-12-11 16:52:22 · 667 阅读 · 0 评论 -
3万字聊聊什么是Redis(四)
大家好,我是Leo继上篇Redis技术总结三,我们继续聊聊Redis的相关技术!上一篇我们介绍了主要介绍了Redis的类型的底层实现以及技术,类型选择的依据通过时间序列数据引出多种类型的搭配使用思路以及扩展一下RedisTimeSeries模块的使用。Redis作为消息队列也是高频的面试问题,通过这一问题延伸了List的优劣和Streams的应用这篇主要是介绍一下 Redis 有哪些阻塞原因推荐阅读3万字聊聊什么是MySQL3万字聊聊什么是Redis(一)3万字聊聊什么是Redis(原创 2021-12-06 09:42:48 · 202 阅读 · 0 评论 -
3万字聊聊什么是Redis(一)
大家好,我是Leo结束了漫长了MySQL,开始步入了Redis的殿堂。最近在做Redis技术输出时,明显发现进一步熟悉MySQL之后,对Redis的理解容易了许多。或许这就是进步吧!下面的思路部分,可以帮助你更好的理解这篇文章的知识体系。思路整体结构Redis主要是由访问框架,操作模块,索引模块,存储模块,高可用集群支撑模块,高可用扩展支撑模块等组成,Redis还有一些,丰富的数据类型,数据压缩,过期机制,数据淘汰策略,分片机制,哨兵模式,主从复制,集群化,高可用,统计模块,通知模块,调试模块原创 2021-12-02 16:29:45 · 1359 阅读 · 0 评论 -
3万字聊聊什么是Redis(三)
大家好,我是Leo继上篇Redis技术总结二,我们继续聊聊Redis的相关技术!上一篇我们介绍了主从库的由来主从数据一致性原理哨兵集群哨兵投票机制pub/sub机制CAP原理这篇主要是深入Redis的数据结构,五大类型的学习。推荐阅读3万字聊聊什么是MySQL3万字聊聊什么是Redis(一)3万字聊聊什么是Redis(二)思路前几天在群里,看到几个朋友在聊Redis,我感觉很多人把Redis看的太简单了,总觉得Redis就是get,set。其实表面上确实是get,set。但原创 2021-11-29 14:56:18 · 416 阅读 · 0 评论 -
3万字聊聊什么是Redis(二)
大家好,我是Leo继上篇Redis技术总结一,我们继续聊聊Redis的相关技术!上一篇我们介绍了Redis五大类型的底层实现数据量的增加,性能变慢的问题分析,原理剖析Redis单线程与多线程这个高频话题IO模型,多路复用机制AOF写入策略,重写机制RDB写时复制技术推荐阅读3万字聊聊什么是MySQL3万字聊聊什么是Redis(一)思路Redis主从库的由来随着数据量的增大,单台Redis无法很好的提供读写缓存服务了。于是就采用多台Redis完成更大的访问请求,那么多台Red原创 2021-11-21 11:24:21 · 613 阅读 · 0 评论 -
探讨一下索引失效的几种场景
不经一番寒彻骨,怎得梅花扑鼻香 阅读这篇文章大概需要20分钟!大家好前面我们介绍一下关于实战的知识点。主要应用于表数据比较多的情况下,如何巧妙地从中取出几条数据。今天介绍一下索引失效的几种不好发现的情况。声明一下跟丁奇老师学习的,自己做一个技术总结说到索引失效,今天主要从三个方向分析。函数操作,隐式类型转换,隐式字符编码转换。这里不包含like,!=等函数操作假设你现在维护了一个交易系统,其中交易记录表 tradelog 包含交易流水号(tradeid)、交易员 id(operator)、交易.原创 2021-09-15 10:05:16 · 453 阅读 · 0 评论 -
一招搞定电商首页随机排序数据算法
不经一番寒彻骨,怎得梅花扑鼻香 阅读这篇文章大概需要20分钟!大家好前面我们了解了order by的实现方式以及内部的涉及到的知识点。今天我们介绍一下关于实战的知识点。主要应用于表数据比较多的情况下,如何巧妙地从中取出几条数据。案例mysql> CREATE TABLE `words` ( `id` int(11) NOT NULL AUTO_INCREMENT, `word` varchar(64) DEFAULT NULL, PRIMARY KEY (`id`)) ENGI.原创 2021-09-13 23:56:20 · 530 阅读 · 0 评论 -
order by是如何工作的?
不经一番寒彻骨,怎得梅花扑鼻香 阅读这篇文章大概需要20分钟!大家好前面我们了解了count(*)的一些实现方式。今天我们介绍一下order by的实现方式以及内部的涉及到的知识点。常规排序先准备一些案例,假设我们的表是这样的。CREATE TABLE `t` ( `id` INT ( 11 ) NOT NULL, `city` VARCHAR ( 16 ) NOT NULL, `name` VARCHAR ( 16 ) NOT NULL, `age` INT ( 11 ) NOT N.原创 2021-09-12 16:20:09 · 309 阅读 · 4 评论 -
count(*)那么慢能用吗,该怎么办呢?
比较喜欢的一段话:不经一番寒彻骨,怎得梅花扑鼻香 阅读这篇文章大概需要20分钟!大家好前面我们大概了解了为什么delete from表名,表的大小还是没有变小!以及数据删除流程,数据页空洞,online和inplace。重建表的两种实现方式。今天介绍一下为什么count(*)那么慢。count(*)实现方式今天介绍的是MySQL的两种常用的引擎方式。第一种是最早期的MySQL默认引擎:myisam。第二种就是当下最流行的MySQL默认引擎innodb。两种引擎的实现方式各不相同。下面我们来分析一.原创 2021-09-09 09:22:42 · 179 阅读 · 0 评论 -
面试高频:为什么数据删了,表空间不变呢?
比较喜欢的一段话:不经一番寒彻骨,怎得梅花扑鼻香,学习是枯燥的请大家坚持! 阅读这篇文章大概需要20分钟!大家好前面我们大概了解了为什么MySQL在查询数据的时候,有些时候会 “抖” 一下。以及分析了刷脏页的策略问题以及连坐机制。今天介绍一下为什么delete from表名,表的大小还是没有变小!表结构存储innodb表主要包含两个部分。一个部分是表结构的定义,另一部分是数据。在MySQL8.0之前表结构都是存在后缀 .fm 的文件里。而 MySQL 8.0 版本,则已经允许把表结构定义放在系统数.原创 2021-09-08 16:11:23 · 896 阅读 · 0 评论 -
面试高频:为什么MySQL会抖一下?
比较喜欢的一段话:不经一番寒彻骨,怎得梅花扑鼻香,学习是枯燥的请大家坚持! 阅读这篇文章大概需要20分钟!大家好前面我们大概了解了如何巧妙的给字符串字段加索引提高查询性能。今天我们介绍一下为什么MySQL在查询数据的时候,有些时候会 “抖” 一下先解释一下抖这个字。有些时候的SQL执行非常快,有些时候执行非常慢。通过explain查看SQL的执行计划还是无用。该走的索引也走了,该优化的细节也优了。那么到底是因为什么所以才导致卡顿一下的呢?首先介绍一下什么是干净页跟脏页。先把路铺好。干净页内存上.原创 2021-09-08 14:05:13 · 125 阅读 · 0 评论 -
如何优雅的给字段加索引,能引导优化器走索引?
比较喜欢的一段话:不经一番寒彻骨,怎得梅花扑鼻香,学习是枯燥的请大家坚持! 这篇文章的是向丁奇老师学习的。不懂的自己搜一下哈! 阅读这篇文章大概需要20分钟!大家好前面我们大概了解了MySQL为什么会选错索引。今天介绍一下如何巧妙的给字符串字段加索引提高查询性能。现在几乎所有的系统都支持,邮箱快捷登录,一些大型的国企网站还会支持身份证登录。比如软考官网,银行APP等。那么如何给这个字段建立合理的索引,达到最优性能呢?先做一些准备工作create table SUser(ID bigint un.原创 2021-09-03 16:04:41 · 204 阅读 · 1 评论 -
优化器选错索引,导致线上瘫痪
比较喜欢的一段话:不经一番寒彻骨,怎得梅花扑鼻香,学习是枯燥的请大家坚持! 这篇文章的是向丁奇老师学习的。不懂的自己搜一下哈! 阅读这篇文章大概需要35分钟!大家好前面我们大概了解了索引如何选择以及利弊问题。今天介绍一下强大的MySQL为什么会选错索引!如果索引选对了事半功倍!先模拟一下数据,做一些准备工作, 创建表,插入10万条数据CREATE TABLE `t` ( `id` int(11) NOT NULL, `a` int(11) DEFAULT NULL, `b` int(1.原创 2021-09-02 16:47:50 · 164 阅读 · 0 评论 -
普通索引和唯一索引,你该如何选择?
预热比较喜欢的一段话:不经一番寒彻骨,怎得梅花扑鼻香,学习是枯燥的请大家坚持! 这篇文章的是向丁奇老师学习的。不懂的自己搜一下哈! 阅读这篇文章大概需要35分钟!大家好前面我们大概了解了事务视图隔离的问题。今天介绍一下索引的选择性问题。通过索引的选择提高处理性能!开始假设你在维护一个市民系统,每个人都有一个唯一的身份证号,而且业务代码已经保证了不会写入两个重复的身份证号。如果市民系统需要按照身份证号查姓名,就会执行类似这样的 SQL 语句:select name from CUser wher原创 2021-08-31 17:23:26 · 185 阅读 · 0 评论 -
不就隔个视图嘛,你怎么看不到我啊?
预热比较喜欢的一段话:不经一番寒彻骨,怎得梅花扑鼻香,学习是枯燥的请大家坚持! 这篇文章的是向丁奇老师学习的。不懂的自己搜一下哈! 阅读这篇文章大概需要35分钟!大家好前面我们大概了解了事务隔离级别,行锁的两阶段锁。今天我们结合两篇文章解决一个隔离性中的数值问题!开始事务中我们提到的事务A开启一个事务后,事务B也开始一个事务。那么事务A从头到尾看到的数值都是一样的。行锁中又提到的是一个事务要更新一行会拿到这行的锁,另一个事务也要操作这一行的话也会拿到行锁。那在拿行锁的时候就没那么简单了,会被锁原创 2021-08-31 09:36:03 · 142 阅读 · 0 评论 -
不就加个字段嘛?怎么线上业务都挂了!
预热比较喜欢的一段话:不经一番寒彻骨,怎得梅花扑鼻香,学习是枯燥的请大家坚持! 这篇文章的是向丁奇老师学习的。不懂的自己搜一下哈! 阅读这篇文章大概需要35分钟!大家好前面我们大概了解了MySQL索引的选择,innodb数据结构的选择,索引,覆盖索引,查询优化的细节。今天我们介绍一下数据库全局锁,表锁,行锁,两阶段锁协议以及案例!相信大家绝对听过这么一个事故。某互联网大厂程序员新增了一个字段导致线上业务瘫痪。没听过也没有关系,我们接下来一起慢慢分析。线上业务的瘫痪主要因为死锁导致的资源耗尽,导致原创 2021-08-28 23:28:33 · 408 阅读 · 0 评论 -
深入浅出索引
预热比较喜欢的一段话:不经一番寒彻骨,怎得梅花扑鼻香,学习是枯燥的请大家坚持! 这篇文章的是向丁奇老师学习的。不懂的自己搜一下哈! 阅读这篇文章大概需要25分钟!大家好前面我们大概了解了事务隔离级别的区别与实现,应用技巧等。今天我们介绍一下数据库的索引!开始MySQL为什么选择Innodb?首先我们介绍一下MySQL的默认引擎为什么会使用Innodb。5.1之前MySQL使用的一直都是MyISAM,MyISAM存储方式是非聚集索引,也就是说索引与行记录分开存储的。5.1之后MySQL换成了原创 2021-08-26 15:22:19 · 115 阅读 · 1 评论 -
事务隔离你了解多少?
预热比较喜欢的一段话:不经一番寒彻骨,怎得梅花扑鼻香,学习是枯燥的请大家坚持! 这篇文章的是向丁奇老师学习的。不懂的自己搜一下哈! 阅读这篇文章大概需要25分钟!大家好前面我们大概了解了一个更新语句的执行流程,并介绍了执行过程中涉及 两种重要的日志模块 innodb的redo log,server层的binlog。相信你还记得他们两者之间的区别以及为什么要有二阶段提交这一流程?今天我们介绍一下数据库的事务一些知识点!开始隔离性与隔离级别谈到事务绝对是要谈一些隔离性与隔离级别的。首先隔离级别就是原创 2021-08-23 14:01:03 · 121 阅读 · 1 评论 -
一条SQL更新语句是如何执行的?
预热比较喜欢的一段话:不经一番寒彻骨,怎得梅花扑鼻香,学习是枯燥的请大家坚持! 这篇文章的是向丁奇老师学习的。不懂的自己搜一下哈! 阅读这篇文章大概需要15分钟!大家好前面我们大概了解了一个查询语句的执行流程,并介绍了执行过程中涉及的处理模块。相信你还记得,一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。那么,一条更新语句的执行流程又是怎样的呢?更新语句的执行流程与查询语句的流程都是一样的,大同小异。唯一的不同的就是更新语句还涉及到两个重要的日原创 2021-08-21 15:30:47 · 191 阅读 · 4 评论 -
如何避免长事务对业务的影响?
预热比较喜欢的一段话:不经一番寒彻骨,怎得梅花扑鼻香,学习是枯燥的请大家坚持!大家好前面我们大概了解了关于事务的隔离级别,实现方式,启动方式的细节,长事务与短事务的区别。今天我们延伸介绍一下,如果因为失误用了长事务,那我们在工作中如何发现问题,排查问题?开始这个问题,我们可以从应用开发端和数据库端来看。首先,从应用开发端来看:确认是否使用了 set autocommit=0。这个确认工作可以在测试环境中开展,把 MySQL 的 general_log 开起来,然后随便跑一个业务逻辑,通过原创 2021-08-26 13:59:45 · 281 阅读 · 0 评论 -
一条SQL查询语句是如何执行的?
预热比较喜欢的一段话:不经一番寒彻骨,怎得梅花扑鼻香,学习是枯燥的请大家坚持!这篇文章的是向丁奇老师学习的。不懂的自己搜一下哈!阅读这篇文章大概需要20分钟!大家好,我是一位农民工(码农),也是一位打算冲击一线互联网大厂的码农。目前从事的是Java后端开发,写作分享经验是我的兴趣,我想帮助更多未来可期但是现在迷茫的人!欢迎大家来到走向一线大厂的大门!开局前,先上几句SQL大家先热热身!explain SELECT ID FROM t_apimonitoringexplain SELECT原创 2021-08-19 16:56:40 · 138 阅读 · 0 评论 -
Redis全网最全八股文面试教程,该结束了
之前接触Redis大概整理掌握了一些初步的概念性知识,这一篇的打算结束Redis的大部分知识介绍。不能说全部解决,只能说应付公司的面试以及应用还是可以的吧。没看一篇的建议看一下 Redis 初级篇。一篇主要是面试理论,概念性东西。这一篇偏深一些。实战性更多一些。背景Redis迭代背景就是从①单机时代②Mecaded缓存+MySQL+垂直拆分③分库分表+水平拆分+MySQL集群④多用户访问时代(还能抗住)⑤用户量剧增增加缓存层保护数据库⑥用户量爆发式增长单台无法满足用户要求⑦Redis集.原创 2021-07-16 11:22:45 · 427 阅读 · 1 评论 -
Docker你入门了吗?一套骚指令带你入门!
在学习docker之前是比较困惑的总感觉很难,后来尝试了之后发现还是比较简单的,使用一下命令大概就懂了,先分享一下入门类的文章吧,后期将更新出docker的一些硬核知识(应该比较久嘿嘿)引言docker是什么?Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似.原创 2021-07-13 11:29:26 · 175 阅读 · 1 评论