红鸡菌
2020-05-15 12:01:09
摘要在这篇文章中,我将从上一篇的一个小例子开始,跟你介绍一下InnoDB中的行锁。在这里,会涉及到一个概念:两阶段加锁协议。之后,我会介绍行锁中的S锁和X锁,以及这两种锁的作用。但是我们会发现仅仅有行锁是不能解决幻读问题的,于是我会用例子的方式跟你介绍各种间隙锁。后,我会聊一聊粒度更大的表级锁和库...
红鸡菌
2020-05-15 12:00:55
摘要在这一篇内容中,我将从事务是什么开始,聊一聊事务的必要性。然后,介绍一下在InnoDB中,四种不同级别的事务隔离,能解决什么问题,以及会带来什么问题。后,我会介绍一下InnoDB解决高并发事务的方式:多版本并发控制。1什么是事务说到事务,一个典型的例子就是银行转账:假设A和B的余额都是100...
红鸡菌
2020-05-15 12:00:34
摘要在这篇文章中,我会先介绍一下什么是索引,索引有什么作用。之后会介绍一下索引的数据结构是什么样的,有什么优点,又会带来什么样的问题。在分析完数据结构后,我们可以根据这个数据结构,研究索引的用法,以及如何设计更高效的缓存。后,我会对上一篇的内容进行补充,介绍changebuffer的作用以及分析c...
红鸡菌
2020-05-15 12:00:23
摘要在MySQL中,简单的CURD是很容易上手的。但是,理解CURD的背后发生了什么,却是一件特别困难的事情。在这一篇的内容中,我将简单介绍一下MySQL的架构是什么样的,分别有什么样的功能。然后再简单介绍一下在我们执行简单的查询和更新指令的时候,背后到底发生了什么。1MySQL结构在这一小节中,我...
红鸡菌
2020-05-15 12:00:09
摘要在之前的几篇文章中,我们从如何实现简单的HTTP服务器,到如何对路由进行改进,到如何增加中间件。总的来讲,我们已经把Web服务器相关的内容大概梳理了一遍了。在这一篇文章中,我们将从简单的一个main函数开始,慢慢重构,来研究如何把API设计的更加规范和具有扩展性。1构建一个Web应用我们从...
红鸡菌
2020-05-15 11:59:54
摘要在上一篇文章中,我们已经可以实现一个性能较高,且支持RESTful风格的路由了。但是,在Web应用的开发中,我们还需要一些可以被扩展的功能。因此,在设计框架的过程中,应该留出可以扩展的空间,比如:日志记录、故障恢复等功能,如果我们把这些业务逻辑全都塞进Controller/Handler中,会显...
红鸡菌
2020-05-15 11:59:40
摘要在上一篇文章中,我们聊了聊在Golang中怎么实现一个Http服务器。但是在后我们可以发现,固然DefaultServeMux可以做路由分发的功能,但是他的功能同样是不完善的。由DefaultServeMux做路由分发,是不能实现RESTful风格的API的,我们没有办法定义请求所需的方法,也...
红鸡菌
2020-05-15 11:59:26
摘要由于Golang的并发处理,很多公司使用Golang编写微服务。对于Golang来说,只需要短短几行代码就可以实现一个简单的Http服务器。加上Golang的协程,这个服务器可以拥有极高的性能。然而,正是因为代码过于简单,我们才应该去研究他的底层实现,做到会用,也知道为什么这么用。在本文中,...
点击加载更多
分享好友
分享这个小栈给你的朋友们,一起进步吧。
订阅须知
• 所有用户可根据关注领域订阅专区或所有专区
• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询
• 专区发布评论属默认订阅所评论专区(除付费小栈外)
- 热门小栈
- 新小栈
- 更多