Spring Boot 2 实践记录之 Redis 及 Session Redis 配置

先说 Redis 的配置,在一些网上资料中,Spring Boot 的 Redis 除了添加依赖外,还要使用 XML 或 Java 配置文件做些配置,不过经过实践并不需要。

先在 pom 文件中添加 redis 的依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
    <version>xxx.xxx.xxx.RELEASE</version>
</dependency>

如果 Redis 部署在 Spring Boot 运行环境的同一台服务器上,端口为默认的 6379,且没有设置密码,那么其实 Redis 已经可用了。

当然这种假设其实在多数情况下并不成立,所以还是要在配置文件中设置一下,还可以对连接池做个设置:

spring.redis.host=xxx.xxx.xxx.xxx #Redis 服务器ip
spring.redis.port=6379 #Redis 服务器端口
spring.redis.password=xxxxxx #连接密码
spring.redis.timeout=2000 #超时时间
spring.redis.pool.max-active=8  #最大连接数
spring.redis.pool.max-wait=-1 #连接超时设置
spring.redis.pool.max-idle=8 #最大空闲数
spring.redis.pool.min-idle=0 #最小空闲数

再说 Session,如果直接使用 session,是调用的 org.apache.catalina.session.StandardSessionFacade 做 Session 管理。

要想将 Session 存储在 Redis 中,也很简单,只需要在 pom 中添加 spring-session-data-redis 依赖:

<dependency>
    <groupId>org.springframework.session</groupId>
    <artifactId>spring-session-data-redis</artifactId>
    <version>2.1.3.RELEASE</version>
</dependency>

不需要在配置文件中添加如下配置(网上多数文章都提到了这个配置):

spring.session.store-type=Redis

也不需要在 Java 配置文件中做如下配置:

import org.springframework.context.annotation.Configuration;
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;

@Configuration
@EnableRedisHttpSession
public class SessionConfiguration {
}

倒是可以在加入了 spring-session-data-redis 依赖后,又在某些情况下(比如本地测试时),不想将 Session 存入 Redis,可以通过在配置文件中加入如下配置项来实现屏蔽:

spring.session.store-type=None

 

posted on 2019-02-14 00:19  刘兴伟  阅读(570)  评论(0编辑  收藏  举报

导航