Spring Cloud 2.x系列之springcloud如何使用spring-cache

学了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乐园”,我们分享最有价值的互联网技术干货文章,助力您成为有思想的全栈架构师,我们只聊互联网、只聊架构!打造最有价值的架构师圈子和社区。

长按下方的二维码可以快速关注我们

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180929G0AMMM00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券