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錯亂的現象。
-
頭像製作之萌萌噠小豬頭
可愛的萌萌噠小豬頭是很多人都喜歡的,很多的女生都喜歡它,今天小編就為大家帶來:頭像製作之萌萌噠小豬頭。工具/材料ai軟件電腦操作方法01首先的話,我們打開我們的電腦,接着打開我們ai軟件,接着新建一個名字為“小豬頭”的ai文件,如下圖所示。02接着我們第一步:選擇鋼...
-
耳機不響了怎麼辦?
操作方法(01)鼓膜如果出現故障,通常有四種情況:振膜塌陷、振膜開裂與進鐵粉。這四種情況往往會造成耳機有破音、雜音和低音丟失。如果出現上述四種問題,可以按以下方法修復。一、振膜塌陷的修復如果出現振膜塌陷的情況,可用鑷子夾住一樣帶黏性的物質,例如雙面膠,...
-
怎麼用支付寶購買彩票
怎麼使用支付寶購買彩票,讓小編教給你最新的購買指南。操作方法(01)國家全面禁止網絡售彩,所以相關的支付寶購彩指南經驗全部取消。(02)但是支付寶可以轉賬,可以與彩票代售點老闆互加好友,通過轉賬的方式由老闆代購。(03)支付寶還可以當面付,在彩票代售點與老闆通過支付寶...
-
支付寶芝麻信用,什麼是芝麻信用,芝麻信用分
芝麻信用分是用户授權後根據多方面多維度的信息,通過人工智能、雲計算等客觀的呈現個人信用的綜合評分。芝麻積分是什麼?(01)芝麻信用積分通過個人的一些維度,計算出的綜合評分,用於預測個人在信用行為中的違約率如何查看自己的信用積分?(01)打開支付寶,點開芝麻信用界面...
相關文章
- 開機出現bootmgr is missing
- Windows系統中有哪些方法開啟Postgresql服務
- Spring Boot如何整合Redis
- 開機提示bootmgr is compressed無法啟動的方法
- LOL加載界面時閃退whoops,something.broke
- missing operating system是怎麼回事?
- JedisConnectionFactory如何獲取Redis
- 電腦提示operating system not found怎麼辦
- 如何在Windows中安裝VMware Workstation Pro 12
- 當電腦出現missing operating system的解決辦法