當前位置:
首頁 > 知識 > Spring Boot使用Redis管理Session

Spring Boot使用Redis管理Session

Spring Boot使用Redis管理Session

Redis

Spring Boot使用Redis管理Session

Spring Boot

Spring Boot使用Redis管理Session

Spring

在開發後端服務的時候,我個人是比較傾向構建無狀態介面的,如果需要驗證可以使用OAuth2.0協議給客戶端Token,服務端存入Redis等內存資料庫。再通過AOP進行校驗《Spring Boot使用AOP》。

不過實際工作中還是有很多需要Session信息的項目,比如管理系統等等。

這就又牽扯出一個問題,如果我們的後端服務需要負載均衡——不管是用Nginx、還是Spring Cloud的Ribbon進行負載轉發,多個服務端的Session如何統一管理?

本例採用Redis,原工程代碼見《Spring Boot使用Redis》。


配置

Spring Boot使用Redis管理Session

pom.xml

增加一個依賴。

Spring Boot使用Redis管理Session

配置

在原來配置類的基礎上增加@EnableRedisHttpSession註解,其中maxInactiveIntervalInSeconds是Session失效時間。在實際工作中,Redis肯定不會只管理一個服務的Session,每個服務的Session最好有所區別,redisNamespace就是用來設置命名空間的。


Controller

Spring Boot使用Redis管理Session

Controller

第一個方法設置Session信息,第二個方法獲取Session信息。


結果

Spring Boot使用Redis管理Session

日誌

當執行第一個方法時,已經在Session里設置了用戶信息,寫入Redis了。

第二個方法從Session中取出了用戶信息。

Spring Boot使用Redis管理Session

Redis

看看Redis里的數據,紅框就代表這下面是我們當前服務的Session。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Java個人學習心得 的精彩文章:

Spring Boot使用Redis做緩存
Spring Boot使用AOP
Spring Boot自定義Logback
Docker掛載主機目錄(基於Tomcat)
Docker與主機互傳文件(基於Tomcat)

TAG:Java個人學習心得 |