Spring Boot 2 實踐記錄之 Redis 及 Session Redis 配置
阿新 • • 發佈:2019-02-14
tor ssi sta ava art spring apach 時間 ati
先說 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
Spring Boot 2 實踐記錄之 Redis 及 Session Redis 配置