摘要: mysql提供的explain工具可以输出一些有用的信息。 一下是相关的部分返回值的意义。 select_type 表示SELECT的类型,常见的取值有: SIMPLE :简单表,不使用表连接或子查询 PRIMARY :主查询,即外层的查询 UNION :UNION中的第二个或者后面的查询语句 ty 阅读全文
posted @ 2019-09-13 10:47 murphy_gb 阅读(454) 评论(0) 推荐(1) 编辑
摘要: Nginx应该是现在最火的web和反向代理服务器,没有之一。她是一款诞生于俄罗斯的高性能web服务器,尤其在高并发情况下,相较Apache,有优异的表现。 那除了负载均衡,她还有什么其他的用途呢,下面我们来看下。 一、静态代理 Nginx擅长处理静态文件,是非常好的图片、文件服务器。把所有的静态资源 阅读全文
posted @ 2019-09-03 11:03 murphy_gb 阅读(2743) 评论(0) 推荐(1) 编辑
摘要: 前言 乐观锁和悲观锁问题,是出现频率比较高的面试题。本文将由浅入深,逐步介绍它们的基本概念、实现方式(含实例)、适用场景,以及可能遇到的面试官追问,希望能够帮助你打动面试官。 目录 一、基本概念 二、实现方式(含实例) 三、优缺点和适用场景 四、面试官追问:乐观锁加锁吗? 五、面试官追问:CAS有哪 阅读全文
posted @ 2019-09-02 19:39 murphy_gb 阅读(332) 评论(1) 推荐(0) 编辑
摘要: 第一章 策略模式 00设计原则: 找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码放在一起。 把会变化的部分取出并封装起来,好让其它部分不会受到影响。结果如何?代码变化引起的不经意后果变少,系统变得更有弹性。 00设计原则: 针对接口编程,而不是针对实现编程。 “针对接口编程” 阅读全文
posted @ 2019-08-28 19:24 murphy_gb 阅读(858) 评论(0) 推荐(1) 编辑
摘要: UDP主要特点: (1)UDP是无连接的, 即发送数据之前不需要建立连接(当然,发送数据结束时也没有连接可以释放),因此减少了开销和发送数据之前的时延。 (2)UDP使用尽最大努力交付, 即不保证可靠交付,因此主机不需要维持复杂的连接状态表(这里面有很多参数)。 (3)UDP是面向报文的。 发送方的 阅读全文
posted @ 2019-08-23 00:53 murphy_gb 阅读(6179) 评论(2) 推荐(0) 编辑
摘要: 作为一个合格的开发人员,不仅要能写得一手还代码,还有一项很重要的技能就是排查问题。这里提到的排查问题不仅仅是在coding的过程中debug等,还包括的就是线上问题的排查。由于在生产环境中,一般没办法debug(其实有些问题,debug也白扯。。。),所以我们需要借助一些常用命令来查看运行时的具体情 阅读全文
posted @ 2019-08-19 13:35 murphy_gb 阅读(1486) 评论(0) 推荐(0) 编辑
摘要: TCP报文段的首部格式 序列号seq: 占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生;给字节编上序号后,就给每一个报文段指派一个序号;序列号seq就是这个报文段中的第一个字节的数据编号。 确认号ack: 占4个字节,期待收到对方下一 阅读全文
posted @ 2019-08-17 17:03 murphy_gb 阅读(515) 评论(0) 推荐(0) 编辑
摘要: 本文详细介绍四种事务隔离级别,并通过举例的方式说明不同的级别能解决什么样的读现象。并且介绍了在关系型数据库中不同的隔离级别的实现原理。 在DBMS中,事务保证了一个操作序列可以全部都执行或者全部都不执行(原子性),从一个状态转变到另外一个状态(一致性)。由于事务满足久性。所以一旦事务被提交之后,数据 阅读全文
posted @ 2019-08-16 23:08 murphy_gb 阅读(2538) 评论(0) 推荐(0) 编辑
摘要: 为什么要使用索引? 最简单的方式实现数据查询: 全表扫描 ,即将整张表的数据全部或者分批次加载进内存,由于存储的最小单位是块或者页,它们是由多行数据组成,然后逐块逐块或者逐页逐页地查找,这样查找的速度非常慢。优点:在数据量小比如只有几十行数据的情况下很快。但数据量大时不适用。更通常情况下,我们应该避 阅读全文
posted @ 2019-08-16 16:23 murphy_gb 阅读(735) 评论(0) 推荐(2) 编辑
摘要: 悲观锁 当我们要对一个数据库中的一条数据进行修改的时候,为了避免同时被其他人修改,最好的办法就是直接对该数据进行加锁以防止并发。 这种借助数据库锁机制在修改数据之前先锁定,再修改的方式被称之为悲观并发控制(又名“悲观锁”,Pessimistic Concurrency Control,缩写“PCC” 阅读全文
posted @ 2019-08-08 08:31 murphy_gb 阅读(30565) 评论(5) 推荐(6) 编辑