SpringBoot 使用 Redis 缓存

作者:gdpuzxs

链接:cnblogs.com/gdpuzxs/p/7222221.html

知音专栏

1、pom.xml引入jar包,如下:

2、修改项目启动类,增加注解@EnableCaching,开启缓存功能,如下:

3、application.properties中配置Redis连接信息,如下:

4、新建Redis缓存配置类RedisConfig,如下:

5、新建UserMapper,如下:

@Cacheable将查询结果缓存到redis中,(key="#p0")指定传入的第一个参数作为redis的key。

@CachePut,指定key,将更新的结果同步到redis中

@CacheEvict,指定key,删除缓存数据,allEntries=true,方法调用后将立即清除缓存

6、service层与controller层:

Service层代码如下:

Controller层,代码如下:

启动redis服务器,redis服务器的安装与启动可以参考博客,地址如下:

http://www.cnblogs.com/gdpuzxs/p/6623171.html

7、配置log4j日志信息,如下:

8、验证redis缓存

首先我们向user表总插入一条数据,数据库显示如下:

现在,我们查询一下user表中id=24的数据,观擦控制台输出的信息,如下:

通过控制台输出信息我们可以知道,这次执行了数据库查询,并开启了Redis缓存查询结果。接下来我们再次查询user表中id=24的数据,观察控制台,如下:

通过控制台输出信息我们可以知道,这次并没有执行数据库查询,而是从Redis缓存中查询,并返回查询结果。我们查看redis中的信息,如下:

方法finduser方法使用了注解@Cacheable(key="#p0"),即将id作为redis中的key值。当我们更新数据的时候,应该使用@CachePut(key="#p0")进行缓存数据的更新,否则将查询到脏数据。

【推荐算法类公众号:算法文摘】

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180703A09MF700?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券