springboot使用Redis的两种:
前提:Redis已安装并启用,并在项目的application.properties文件配置了Redis的连接信息,比如:
spring.redis.host=127.0.0.1
spring.redis.port=6379
一、用于应用集群间共享SESSION;
需要添加配置:
1、pom.xml中添加配置:
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
2、在入口类添加注解@EnableRedisHttpSession:
@EnableRedisHttpSession
@SpringBootApplication
public class MainApplication {
public static void main(String[] args) {
SpringApplication.run(MainApplication.class, args);
}
}
二、为增删改查操作添加Redis缓存,提高系统系统
1、pom配置同上(也可以直接引入Redis依赖);
2、添加一个CachingConfigurerSupport的继承类,在其中注入一个RedisCacheManager类(redis工厂)的实例,比如:
@Configuration
@EnableCaching
public class RedisConfig extends CachingConfigurerSupport {
//缓存管理器
@Bean
public CacheManager cacheManager(@SuppressWarnings("rawtypes") RedisTemplate redisTemplate) {
RedisCacheManager cacheManager = new RedisCacheManager(redisTemplate);
//cacheManager.setDefaultExpiration(10000);
return cacheManager;
}
}
如有需要,还可在此为RedisCacheManager 设置一些参数,如缓存过期时间、最大空闲连接、最大阻塞等待时间等;
当然,这些参数也可以在application.properties文件中设置。
3、在需要缓存的类或方法上注释相关cache标签,例如:
@Service
@CacheConfig(cacheNames = "Car")
public class CarService{
@Autowired
private CarResponsitory carResponsitory;
@Cacheable(key="#p0")
public Page<Car> queryAll(int pageSize, int pageNum) {
return carResponsitory.queryPage(query, pageSize, pageNum);
}
}