zoukankan      html  css  js  c++  java
  • Mybatis缓存

    缓存:为数据库的查询进行缓存,是减少数据库压力的主要捷径,官方介绍主要有一级缓存和二级缓存,下面简单介绍这两种缓存的区别。

    一级缓存:session级别缓存,作用于当前会话。

     特点:1.一级缓存默认开启,并且无法关闭。2.作用域是session,一次openSession( )后,如果相同的statement和相同的参数,则不进行查询而是从缓存命中并且返回,如果没有命中则查询数据库。3.任何的增删改都会导致缓存被清空。4.缓存使用Least Recently Used(LRU,最近最少使用的)算法来收回。

     二级缓存:SessionFactory级别缓存,作用于整个SessionFactory,多个会话之间共享缓存。

    特点:1. 二级缓存需要手动开启,开启的方式是在Mapper.xml中添加<cache/>。2.二级缓存作用域是整个SessionFactory,如果namespace,statement,和sql参数一样,则缓存命中。

    它的全局开关:cacheEnabled:默认打开的,如果关闭,所有的Mapper的二级缓存都会失效,默认是打开的。

    下面着重介绍二级缓存的其它配置:

    <cache
        eviction="FIFO"
        flushInterval="60000"
        size="512"
        readonly="true"
    />

    官方是这样介绍的:

  • 相关阅读:
    DDoS deflate
    stm32串口
    王立平--GUI与GUILayout的差别
    DOM模型
    Android设计模式(十二)--抽象工厂模式
    Dynamics CRM 开启EmailRouter日志记录
    python in操作引发 TypeError
    为OLED屏添加GUI支持2:2D图形库
    Bloxorz I (poj 3322 水bfs)
    URAL 1823. Ideal Gas(数学啊 )
  • 原文地址:https://www.cnblogs.com/lichangyun/p/9626790.html
Copyright © 2011-2022 走看看