Spring Boot 2 實踐記錄之 Redis 及 Session Redis 配置

先說 Redis 的配置,在一些網上資料中,Spring Boot 的 Redis 除了添加依賴外,還要使用 XML 或 Java 配置文件作些配置,不過通過實踐並不須要。web

先在 pom 文件中添加 redis 的依賴: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

固然這種假設其實在多數狀況下並不成立,因此仍是要在配置文件中設置一下,還能夠對鏈接池作個設置:apache

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 依賴:session

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

不須要在配置文件中添加以下配置(網上多數文章都提到了這個配置):spring-boot

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,能夠經過在配置文件中加入以下配置項來實現屏蔽:spa

spring.session.store-type=None
相關文章
相關標籤/搜索