学了springcloud如何操作数据库进行增删改查,又学了springcloud如何操作reids把数据存储到redis。今天结合数据库操作和reids操作,来看看如何使用SpringCache。SpringCache提供了基于注解的缓存配置方法。它本质上不是一个具体的缓存实现方案(例如EHCache),而是一个对缓存使用的抽象和封装,通过在已有代码中打上几个预定义的注释,就可以实现希望达到的缓存效果。SpringCache支持跟第三方缓存例如EHCache、Redis集成;另外也提供了开箱即用的默认实现,可以直接拿来使用。SpringCache支持使用SpEL(Spring ExpressionLanguage)来定义缓存的key和各种condition,因此具备相当的灵活性,并可以支持非常复杂的语义。
1、新建项目sc-redis-cache,对用的pom.xml文件如下
2、新建springboot启动类RedisCacheApplication.java
备注:@MapperScan(basePackages="sc.redis.cache.dao")该注解的basePackages一定是DAO所在包最终报名。
如果写成@MapperScan(basePackages="sc.redis.cache")这样在测试中将报错:
3、新建配置文件application.yml
备注:配置文件中有连接数据库的配置信息和连接redis的配置信息,同时配置了打印sql语句的日志级别
4、新建自定义reids序列化方式RedisCacheSerializeConfiguration.java类
5、启动相关类请参照源码,目录结构如下
6、编写单元测试类
7、进行单元测试
运行add方法添加一条数据到数据库:
日志:
第一次运行get方法:
日志:
使用redis-cli查看redis,数据已经插入缓存
第二次运行get方法:
日志:
发现没有打印任何sql语句,说明数据是从redis获取的,没有去数据库查询数据。
源码:
看完本文有收获?请转发分享给更多人
欢迎关注“JAVA乐园”,我们分享最有价值的互联网技术干货文章,助力您成为有思想的全栈架构师,我们只聊互联网、只聊架构!打造最有价值的架构师圈子和社区。
长按下方的二维码可以快速关注我们
领取专属 10元无门槛券
私享最新 技术干货