springboot整合redis缓存
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot整合redis缓存相关的知识,希望对你有一定的参考价值。
使用springBoot添加redis缓存需要在POM文件里引入
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-redis</artifactId>
<version>1.4.3.RELEASE</version>
</dependency>
我们添加缓存的支持需要两个依赖,一个是SpringBoot内部的缓存配置、另外则是我们的redis缓存。
配置Redis数据库
依赖添加完成后,需要配置我们本地的redis数据库连接到项目中,我们打开application-local.properties配置文件添加如下图8所示的配置内容:
#redis
spring.redis.cluster.nodes=172.0.0.1:6379
spring.redis.pool.max-active=20
spring.redis.pool.max-idle=10
spring.redis.pool.min-idle=5
spring.redis.pool.max-wait=10
spring.redis.timeout=5000
1、简易方式
@Configuration
@EnableCaching
public class RedisConfig extends CachingConfigurerSupport {
//生成key
@Override
@Bean
public KeyGenerator keyGenerator() {
return new KeyGenerator() {
@Override
public Object generate(Object target, Method method, Object... objects) {
return UserConstant.REDIS_KEY; //常量key
}
};
}
}
查看一下 Spring缓存注解@Cacheable、@CacheEvict、@CachePut使用参考
(https://www.cnblogs.com/fashflying/p/6908028.html )
// serviceImpl 方法 @Cacheable("infos")
@Override
@Cacheable("infos")
public List<User> queryUser() {
return this.UserMapper.queryUser();
}
如上只需要加上一个注解就可以 在调用查询的时候先去缓存里面找,没有就执行方法 然后再存到缓存里面
在执行增、删、改的时候需要删除缓存如下:
@Override
@CacheEvict("infos")
public void editUserStatus(Map<String, Object> info) {
UserMapper.editStatus(info);
}
在对应的方法上加入注解 这样就会删除缓存
最后去测试一下就可以。
以上是关于springboot整合redis缓存的主要内容,如果未能解决你的问题,请参考以下文章