zoukankan      html  css  js  c++  java
  • 缓存的工作原理

    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时两次查询中间发生了增删改操作,则二级缓存清空。

  • 相关阅读:
    20161101学习笔记
    20161031学习笔记
    20161028学习笔记
    20161027学习笔记
    ReentrantLock Condition
    ReentrantLock 重入锁
    CountDownLatch用法与原理
    场景化解释 AQS原理
    Atomic
    多线程工具类
  • 原文地址:https://www.cnblogs.com/panxuejun/p/5859646.html
Copyright © 2011-2022 走看看