springBoot中怎么配置Redis管理session,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
1.引入maven依賴
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> </dependency>
2.寫入關鍵配置
spring.session.store-type=redis #配置由redis管理session #redis連接信息 spring.redis.host=127.0.0.1 spring.redis.port=6379 spring.redis.timeout=600000 spring.redis.password=
3.加入關鍵配置代碼
@Configuration @EnableRedisHttpSession(maxInactiveIntervalInSeconds=60*60*4,redisNamespace = "spring:session:tjzz:application")//設置session過期時間,設置存儲路徑 @ConfigurationProperties(prefix = "spring.redis") public class SessionConfig { @Value("${spring.redis.host}") private String host; @Value("${spring.redis.port}") private int port; @Value("${spring.redis.timeout}") private int timeout; @Value("${spring.redis.password}") private String password; /* * 配置redis序列化方式 * */ @Bean(name = "springSessionDefaultRedisSerializer") public GenericJackson2JsonRedisSerializer getGenericJackson2JsonRedisSerializer() { return new GenericJackson2JsonRedisSerializer(); } /* * cookie Base64解碼 * */ @Bean public DefaultCookieSerializer getDefaultCookieSerializer(){ DefaultCookieSerializer cookieSerializer = new DefaultCookieSerializer(); cookieSerializer.setUseBase64Encoding(false); return cookieSerializer; } }
4.測試類
@RestController public class SessionController { @RequestMapping(value = "/get-session-id.action",method = RequestMethod.GET) public String getSessionId(){ HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); HttpSession session = request.getSession(); String sessionId=""; Object temp=session.getAttribute("USER");//session中存儲userCode的key為USER System.out.println(temp.toString()); sessionId=session.getId(); return sessionId; } }
看完上述內容,你們掌握springBoot中怎么配置Redis管理session的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。