zoukankan      html  css  js  c++  java
  • mybatis的缓存机制

    一级缓存:  

     mybatis默认有一级缓存,当两次使用的查询语句一样时,第一次查询的结果会写到缓存,第二次查询将直接去缓存取出数据,就不会去数据库进行查询,前提是在同一个SqlSession中,如果两次查询期间出现了操作语句(insert,delete,update),第一次缓存的数据将被清空.主要为了更新数据库,防止出现脏数据.但在mybatis和spring 整合后,如果没有使用事务,一级缓存是失效的,所以要么添加事务,要么使用二级缓存.

    二级缓存:

    二级缓存是mapper级别的缓存,多个SqlSerssion使用一个mapper的sql语句去操作数据库,得到的数据存放在二级缓存区域,作用域是mapper的同一个namespace,要使用二级缓存虚需要设置

    <settings>

    <setting name="cacheEnabled" value="true"/>

    </setting>

    为了尽量少造成脏数据,最好设置自动刷新,

    在配置里面添加  flushInterval="10000",这里设置的是10秒刷新一次.

    注意:使用一级二级缓存,pojo都要实现Serializable接口

  • 相关阅读:
    模块二
    lambda map() filter() zip()练习
    装饰器
    函数模块回顾
    连接不同数据OleDb(不完整)
    连接不同的数据库
    连接数据库ORACLE(不完整)
    多数据之间的连接操作ODBC(不完整)
    ora0131
    ORACLE linux 下 sqlplus命令
  • 原文地址:https://www.cnblogs.com/yeleia/p/7535575.html
Copyright © 2011-2022 走看看