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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。