数据库 一级缓存、二级缓存、三级缓存 一级缓存:在维持一个会话时,查询获取的数据会存放在一级缓存中,下次使用从缓存中获取。 (事务级缓存) 二级缓存:当会话关闭时,一级缓存的数据会保存在二级缓存中。 (应用级缓存) 三级缓存:可以实现跨jvm,通过远程调用的方式实现数据同步。 (查询缓存 如redis)
二级缓存的使用场景: 1.以查询为主的应用,尽可能少的增、删、改操作; 2.业务以单表操作为主; 3.表与表之间的关联尽可能少;
第一步: 在mybatis-config.xml开启缓存 (默认是打开的)
xml 代码解读复制代码<settings>
<setting name="cacheEnable" value="true"/>
</settings>
第二步:在映射文件中进行配置 由于Mybatis在每一对象映射配置单独选择缓存策略, 所以分为2种 Mapper.xml 或者 在接口中使用注解 Mapper.xml
ini 代码解读复制代码<cache
eviction="FIFO" #先进先出的收回策略
flushIntervak="6000"
size="512"
readOnly="true" #返回对象只可读
/>
使用注解的情况下 在接口上配置
ini 代码解读复制代码@CacheNamespace(
eviction = FifoCahe.class,
flushInterval = 60000,
size = 512,
readWrite = false #false只读 true读写
)
特点:存取缓存使用了序列化和反序列 所以实体类要实现Serializable接口 第一步:添加项目依赖
xml 代码解读复制代码<dependency>
<groupId>org.mybatis.caches</groudId>
<artifactId>mybatis-redis</artifactId>
<version>1.0.0-beta2</version>
</dependency>
第二步:配置redis参数:redis.properties
ini 代码解读复制代码host=localhost
port=6379
connectionTimeout=5000
soTimeout=5000
password=
database=0
clientName=
第三步 在mapping.xml中设置缓存类型
ini 代码解读复制代码<mapper namespace="src.com.luo.MybatisMappings.UserMapper.xml" >
<cache type="org.mybatis.caches.redis.RedisCache"/>
</mapper>
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。