SpringBoot整合SpringSeesion實現Redis快取
使用Spring Boot開發項目時我們經常需要存儲Session,因爲Session中會存一些用戶資訊或者登入資訊。傳統的web服務是將session存儲在內存中的,一旦服務掛了,session也就消失了,這時候我們就需要將session存儲起來,而Redis就是用來快取seesion的一種非關係型數據庫,我們可以透過配置或者註解的方式將Spring Boot和Redis整合。而在分佈式系統中又會涉及到session共享的問題,多個服務同時部署時session需要共享,Spring Session可以幫助我們實現這一功能。將Spring Session集成到Spring Boot框架中並使用Redis進行快取是目前非常流行的解決方案,接下來就跟着小編一起學習吧。
工具/材料
IntelliJ IDEA
操作方法
首先我們創建一個Spring Boot 2.x的項目,在erties配置檔案中添加Redis的配置,Spring和Redis的整合可以參考小編其他的文章,此處不再詳解。我們設定服務端口爲8080端口用於啓動第一個服務。
接下來我們需要在pom檔案中添加spring-boot-starter-data-redis和spring-session-data-redis這兩個依賴,spring-boot-starter-data-redis用於整合Spring Boot和Redis,spring-session-data-redis集成了spring-session和spring-data-redis,提供了session與redis的整合方案。
接下來我們創建一個配置類RedisSessionConfig,這個類使用@Configuration註解表明這是一個配置類。在這個類上我們同時添加註解@EnableRedisHttpSession,表示開啓Redis的Session管理。如果需要設定失效時間可以使用@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 3600)表示一小時後失效。若同時需要設定Redis的命名空間則使用@EnableRedisHttpSession(maxInactiveIntervalInSeconds=3600, redisNamespace="{space}") ,其中{space}表示從配置檔案中讀取這個命名空間。
配置完成後我們寫一個測試類SessionController,在這個類中我們寫兩個方法,一個方法用於往session中存數據,一個用於從session中取數據,代碼如下圖所示,我們存取請求的url。啓動類非常簡單,一般都是通用的,我們創建一個名爲SpringbootApplication的啓動類,使用main方法啓動。
接下來我們使用Postman分別請求上面兩個接口,先請求存數據接口,再請求取數據接口,結果如下圖所示,我們可以看到數據已從redis中取出。另外需要注意sessionId的值,這是session共享的關鍵。
爲了驗證兩個服務是否共享了session,我們修改項目的配置檔案,將服務端口改爲8090,然後再啓動服務。此時我們不必在請求存數據的接口,只需要修改請求端口號再一次請求取數據的接口即可。由下圖可以看到兩次請求的sessionId值相同,實現了session的共享。
以上我們完成了SpringBoot整合SpringSeesion實現Redis快取的功能,在此我們還要推薦一個Redis的可視化工具RedisDesktopManager,我們可以配置Redis數據庫的連接,然後便可以非常直觀地檢視到存儲到Redis中的session了,如下圖所示,session的命名空間是share,正是從配置檔案中讀取到的。
特別提示
如果Redis服務器是很多項目共用的,非常建議配置命名空間,否則同時開啟多個項目的瀏覽器頁面可能會導致session錯亂的現象。
-
面向對象與面向過程的區別
面向對象和麪向過程都是解決問題的邏輯方法,分析一個問題既可以用面向對象的方法來思考,也可以用面向過程的方法來解決。但是兩者還是有一定的區別的,下面一起來看看這些區別主要體現在什麼地方吧。操作方法(01)面向過程是分析問題並解決問題所需要的步驟,強調是解決...
-
PS教程:簡單快速的通道摳圖
操作方法(01)開啟PS後,開啟一張需要處理的圖片,點擊通道,選擇綠色(那個色差大選哪個),此次演示選擇一個難度稍大的圖片處理,因爲頭紗是透明的,背後的背景和顏色還得去掉。(02)點擊鼠標右鍵,選擇複製。(03)按Ctrl+L,將色階裏面的箭頭向中間拉,然後點擊確定。(04)點擊套索工具,選中人...
-
怎樣註銷支付寶帳戶
支付寶(中國)網絡技術有限公司是國內領先的第三方支付平臺,致力於提供“簡單、安全、快速”的支付解決方案。支付寶公司從2004年建立開始,始終以“信任”作爲產品和服務的核心。旗下有“支付寶”與“支付寶錢包”兩個獨立品牌。自2014年第二季度開始成爲當前全球最...
-
如何安裝淘寶數字證書
在使用支付寶或者淘寶的時候如果在電腦上未安裝數字證書,對個人的財產保護就不是很安全,那麼如何安裝淘寶數字證書呢?操作方法(01)在網頁上搜尋支付寶,點擊進入。(02)登陸後點擊上方“安全中心”。(03)數字證書沒有使用,點擊“申請”。(04)點擊“申請數字證書”。(05)填寫資訊...
相關文章
- LOL加載介面時閃退whoops,something.broke
- 開機提示bootmgr is compressed無法啓動的方法
- JedisConnectionFactory如何獲取Redis
- 當電腦出現missing operating system的解決辦法
- Windows系統中有哪些方法開啓Postgresql服務
- missing operating system是怎麼回事?
- Spring Boot如何整合Redis
- 開機出現bootmgr is missing
- 如何在Windows中安裝VMware Workstation Pro 12
- 電腦提示operating system not found怎麼辦