缓存的工作原理

Posted THISISPAN

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了缓存的工作原理相关的知识,希望对你有一定的参考价值。

1.缓存的工作流程

缓存主要针对select查村语句作用的

1)第一次查询将数据写入缓存

2)第二次查询时,先看缓存中是否有,有,提取。

3)期间针对此缓存的任何insert/update/delet操作,都触发将缓存清空。

以mybatis的二级缓存为例,缓存流程都一样,不论一级缓存,还是二级缓存,抑或者缓存框架ehcache等。流程全一样:

 

 

Mybatis的一级缓存是指SqlSession。一级缓存的作用域是一个SqlSessionMybatis默认开启一级缓存

在同一个SqlSession中,执行相同的查询SQL,第一次会去查询数据库,并写到缓存中;第二次直接从缓存中取。当执行SQL时两次查询中间发生了增删改操作,则SqlSession的缓存清空。

 

Mybatis的二级缓存是指mapper映射文件。二级缓存的作用域是同一个namespace下的mapper映射文件内容,多个SqlSession共享。Mybatis需要手动设置启动二级缓存

在同一个namespace下的mapper文件中,执行相同的查询SQL,第一次会去查询数据库,并写到缓存中;第二次直接从缓存中取。当执行SQL时两次查询中间发生了增删改操作,则二级缓存清空。

以上是关于缓存的工作原理的主要内容,如果未能解决你的问题,请参考以下文章

8.5 高速缓存的工作原理

HTTP 缓存的工作原理

网络内容缓存CDN的工作原理

CDN技术之--内容缓存工作原理

Computed缓存原理

MySQL语法执行工作原理