溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Springboot中怎么利用springsession實(shí)現(xiàn)session共享

發(fā)布時(shí)間:2021-08-09 16:54:07 來源:億速云 閱讀:429 作者:Leah 欄目:編程語言

本篇文章為大家展示了Springboot中怎么利用springsession實(shí)現(xiàn)session共享,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

1. pom.xml中引入jar包

<!-- Spring Boot Redis 依賴 --> <dependency>   <groupId>org.springframework.boot</groupId>   <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>    <dependency>     <groupId>org.springframework.session</groupId>     <artifactId>spring-session-data-redis</artifactId>  </dependency>    <dependency>   <groupId>org.springframework.session</groupId>   <artifactId>spring-session-core</artifactId> </dependency>

2. 添加RedisSessionConfig配置類

在項(xiàng)目的目錄中,創(chuàng)建一個(gè)java文件(名稱隨意)即可,我這里名稱是RedisSessionConfig.java

@EnableRedisHttpSession這個(gè)注解非常最重要,加了它之后,會使用spring的一個(gè)攔截器來實(shí)現(xiàn)Session共享的操作,而配置的這個(gè)Bean,則是讓Spring根據(jù)配置文件中的配置連到Redis。

SpringSession 需要注意的就是redis需要2.8以上版本,然后開啟事件通知,在redis配置文件里面加上

notify-keyspace-events Ex // 打開此配置,其中Ex表示鍵事件通知里面的key過期事件,每當(dāng)有過期鍵被刪除時(shí),會發(fā)送通知

或是使用如下命令開啟開啟事件通知:

redis-cli config set notify-keyspace-events Egx

如果你的Redis不是你自己維護(hù)的,比如你是使用阿里云的Redis數(shù)據(jù)庫(我就是這種情況),你不能夠更改它的配置,那么可以使用下面的java配置文件即可。

package org.spring.springboot.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.session.data.redis.config.ConfigureRedisAction;import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;@Configuration// maxInactiveIntervalInSeconds 默認(rèn)是1800秒過期,這里測試修改為60秒@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 1800)public class RedisSessionConfig {  @Bean public static ConfigureRedisAction configureRedisAction() { return ConfigureRedisAction.NO_OP; }}

3. 配置redis連接

Spring Boot會自動創(chuàng)建一個(gè)RedisConnectionFactory將Spring Session連接到端口6379(默認(rèn)端口)上localhost上的Redis服務(wù)器的連接。在生產(chǎn)環(huán)境中,您需要確保更新配置以指向Redis服務(wù)器

src/main/resources/application.properties

# Redis 配置# Redis數(shù)據(jù)庫索引(默認(rèn)為0)spring.redis.database=0# Redis服務(wù)器地址spring.redis.host=192.168.0.1# Redis服務(wù)器連接端口spring.redis.port=6379# Redis服務(wù)器連接密碼(默認(rèn)為空)spring.redis.password=1234

上述內(nèi)容就是Springboot中怎么利用springsession實(shí)現(xiàn)session共享,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI