01首先我們建立一個Spring Boot 2.x的專案,在apppcation.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。啟動類非常簡單,一般都是通用的,我們建立一個名為SpringbootApppcation的啟動類,使用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
01首先我們建立一個Spring Boot 2.x的專案,在apppcation.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。啟動類非常簡單,一般都是通用的,我們建立一個名為SpringbootApppcation的啟動類,使用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