2023.03.24 MyBatis二级缓存的好处和开启方法

2023-03-23  本文已影响0人  薛定谔的猴子

MyBatis的二级缓存可以提高应用程序的性能,因为它可以避免频繁地从数据库中读取数据。在开启二级缓存后,查询结果首先会被缓存在内存中,以便下次查询时直接从缓存中获取数据。

一、开启MyBatis的二级缓存具体步骤如下:
  1. 在配置文件中的MyBatis项目添加以下代码:
mybatis:
  configuration:
    cache-enabled: true
  1. 在Mapper文件中添加以下代码:
@CacheNamespace(eviction= LruCache.class,flushInterval = 60000, size = 512, readWrite = true)

3.在XML文件中添加以下代码

<cache-ref namespace="com.ruoyi.system.mapper.TAppUserMapper"/>

其中,eviction 属性指定了缓存的回收策略,flushInterval 属性指定了缓存的刷新时间间隔,size 属性指定了缓存的最大容量大小,readOnly 属性指定了缓存是否只读。

二、MyBatis内置的二级缓存可以使用不同的算法来回收缓存对象,主要有以下几种:

LRU算法比较适合那些访问热点数据较多的场景,可以保证最常用的数据不被淘汰
FIFO算法比较简单,但是可能会导致一些刚刚进入缓存就被淘汰的情况
SOFT和WEAK算法比较适合那些内存敏感的场景,可以根据内存压力动态调整缓存大小

三、需要注意:

开启二级缓存并不是适用于所有情况的,因为缓存也有一些限制和副作用。例如,如果应用程序中的数据经常发生变化,则使用缓存可能会导致数据不一致或过期。此外,对于复杂查询或具有多表连接的查询,缓存的效果可能不佳。

上一篇 下一篇

猜你喜欢

热点阅读