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缓存的主要内容,如果未能解决你的问题,请参考以下文章

springboot整合mybatis,redis,代码

springboot整合mybatis,redis,代码

springboot整合mybatis,redis,代码

Spring Boot 整合Redis 实现缓存

SpringBoot学习—— springboot快速整合Redis

SpringBoot 整合 Redis缓存