起首我們建立一個Spring Boot 2.x的項目,在application.properties設置裝備擺設文件中添加Redis的設置裝備擺設,Spring和Redis的整合可以參考小編其他的文章,此處不再詳解。我們設置辦事端口server.port為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="{spring.session.redis.namespace}") ,此中{spring.session.redis.namespace}暗示從設置裝備擺設文件中讀取這個定名空間。
設置裝備擺設完當作后我們寫一個測試類SessionController,在這個類中我們寫兩個方式,一個方式用于往session中存數據,一個用于從session中取數據,代碼如下圖所示,我們存取請求的url。啟動類很是簡單,一般都是通用的,我們建立一個名為SpringbootApplication的啟動類,利用main方式啟動。
接下來我們利用Postman別離請求上面兩個接口,先請求存數據接口,再請求取數據接口,成果如下圖所示,我們可以看到數據已從redis中掏出。別的需要注重sessionId的值,這是session共享的關頭。
為了驗證兩個辦事是否共享了session,我們點竄項目標設置裝備擺設文件,將辦事端口server.port改為8090,然后再啟動辦事。此時我們不必在請求存數據的接口,只需要點竄請求端標語再一次請求取數據的接口即可。由下圖可以看到兩次請求的sessionId值不異,實現了session的共享。
以上我們完當作了SpringBoot整合SpringSeesion實現Redis緩存的功能,在此我們還要保舉一個Redis的可視化東西RedisDesktopManager,我們可以設置裝備擺設Redis數據庫的毗連,然后便可以很是直不雅地查看到存儲到Redis中的session了,如下圖所示,session的定名空間是share,恰是從設置裝備擺設文件中讀取到的。
若是Redis辦事器是良多項目共用的,很是建議設置裝備擺設定名空間,不然同時打開多個項目標瀏覽器頁面可能會導致session錯亂的現象。
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!