puppylpg

从阻塞IO到IO多路复用到异步IO

虽然之前也了解过NIO的原理,但是涉及到select、epoll还是有点儿不够理解,时间一长又忘了。这次看到一篇非常好的文章: 《你管这破玩意叫 IO 多路复用?》 算是彻底解决了内心的疑惑!跟着梳理一下,顺便对比着看一下之前写的记录。 阻塞io - read 伪非阻塞 - 多线程 真正的非阻塞read() - 第一阶段非阻塞 伪多路复用 - 轮询 真正的多...

Innodb - Buffer Pool

Innodb以磁盘作为存储介质,所以用的时候需要加载到内存。Innodb管理数据的基本单位是页,每次都加载一页数据到内存里。 innodb按页加载数据,是为了读下一条数据的时候能够直接从内存里的同一页取,而不用再次从磁盘取,减少一次磁盘IO。同样的思想,innodb如果能在内存中放很多个页,就能减少很多从磁盘加载页的IO开销。理想情况下,如果内存足够大,能放下所有表的所有索引的所有页,取数...

汇总:Innodb

Innodb是 以磁盘作为存储介质的MySQL引擎。既然存储在磁盘上,那么: 关机之后记录就还会存在; 使用的时候需要加载到内存; 内容有改动的时候要从内存写回磁盘才算真正的保存下来; 改动的内容没写回磁盘之前,如果程序崩溃、服务器宕机,修改就丢失了; 等等,听起来怎么这么耳熟?脏页?写回?LRU?学计算机组成原理的时候,虚拟内存不也是这么玩儿的?是的。大家都是从...