解决在mybatis中使用Redis二级缓存

在mybatis中使用实现注解模式开启缓存,但mybatis的缓存是存入本地缓存。使用redis二级缓存:

自定义RedisCache:通过mybatis默认的cache源码可知,可以使用自定义Cache类 implement cache接口,并对里面的方法进行实现。

 

由于redistemplate是由springboot工厂创建,因此不能直接在自定义RedisCache类中注入。

需要创建ApplicationContextUtils工具类获取springboot创建的工厂。

使用redisTemplate,redis的hash类型存入缓存数据

 

使用redisTemplate,redis的hash类型获取缓存数据

 

测试:

 

 

Mybatis进行增删改后将redis中的缓存清空

 

缓存在项目中的应用

如果项目中表查询之间没有任何关联查询(单表查询)使用该缓存方式没有问题。

如果是表连接查询(多表查询)过程中现有缓存一定出现问题

在mybatis中解决关联关系查询缓存(及多表之间存在关系)

.xml配置模式使用<cache-ref/>

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值