• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    SpringBoot整合SpringSeesion實現Redis緩存

    使用Spring Boot開發項目時我們經常需要存儲Session,因為Session中會存一些用戶信息或者登錄信息。傳統的web服務是將session存儲在內存中的,一旦服務掛了,session也就消失了,這時候我們就需要將session存儲起來,而Redis就是用來緩存seesion的一種非關系型數據庫,我們可以通過配置或者注解的方式將Spring Boot和Redis整合。而在分布式系統中又會涉及到session共享的問題,多個服務同時部署時session需要共享,Spring Session可以幫

    操作方式

    • 01

      起首我們建立一個Spring Boot 2.x的項目,在application.properties設置裝備擺設文件中添加Redis的設置裝備擺設,Spring和Redis的整合可以參考小編其他的文章,此處不再詳解。我們設置辦事端口server.port為8080端口用于啟動第一個辦事。

    • 02

      接下來我們需要在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的整合方案。

    • 03

      接下來我們建立一個設置裝備擺設類RedisSessionConfig,這個類利用@Configuration注解表白這是一個設置裝備擺設類。在這個類上我們同時添加注解@EnableRedisHttpSession,暗示開啟Redis的Session辦理。若是需要設置掉效時候可以利用@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 3600)暗示一小時后掉效。若同時需要設置Redis的定名空間則利用@EnableRedisHttpSession(maxInactiveIntervalInSeconds=3600, redisNamespace="{spring.session.redis.namespace}") ,此中{spring.session.redis.namespace}暗示從設置裝備擺設文件中讀取這個定名空間。

    • 04

      設置裝備擺設完當作后我們寫一個測試類SessionController,在這個類中我們寫兩個方式,一個方式用于往session中存數據,一個用于從session中取數據,代碼如下圖所示,我們存取請求的url。啟動類很是簡單,一般都是通用的,我們建立一個名為SpringbootApplication的啟動類,利用main方式啟動。

    • 05

      接下來我們利用Postman別離請求上面兩個接口,先請求存數據接口,再請求取數據接口,成果如下圖所示,我們可以看到數據已從redis中掏出。別的需要注重sessionId的值,這是session共享的關頭。

    • 06

      為了驗證兩個辦事是否共享了session,我們點竄項目標設置裝備擺設文件,將辦事端口server.port改為8090,然后再啟動辦事。此時我們不必在請求存數據的接口,只需要點竄請求端標語再一次請求取數據的接口即可。由下圖可以看到兩次請求的sessionId值不異,實現了session的共享。

    • 07

      以上我們完當作了SpringBoot整合SpringSeesion實現Redis緩存的功能,在此我們還要保舉一個Redis的可視化東西RedisDesktopManager,我們可以設置裝備擺設Redis數據庫的毗連,然后便可以很是直不雅地查看到存儲到Redis中的session了,如下圖所示,session的定名空間是share,恰是從設置裝備擺設文件中讀取到的。

    • End

    出格提醒

    若是Redis辦事器是良多項目共用的,很是建議設置裝備擺設定名空間,不然同時打開多個項目標瀏覽器頁面可能會導致session錯亂的現象。

    • 發表于 2018-11-29 00:00
    • 閱讀 ( 836 )
    • 分類:電腦網絡

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆