工作纪实_22-搭建分布式项目时使用spring-session替代token( 三 )


3.yaml配置文件
spring:session:store-type=redis: redisredis:host: 47.105.158.78port: 6399timeout: 20s# 数据库索引database: 0jedis:pool:#连接池最大连接数(使用负值表示没有限制)max-active: 300#连接池最大阻塞等待时间(使用负值表示没有限制)max-wait: -1s#连接池中的最大空闲连接max-idle: 100#连接池中的最小空闲连接min-idle: 20
4.核心测试代码
//创建session@GetMapping("createSession")public JsonResult createSession(HttpSession session, String key, String value) {log.info("创建session:key:value:{}:{}", key, value);session.setAttribute(key, value);return JsonResult.ok(true);}// 获取session@GetMapping("getSession")public JsonResult getSession(HttpServletRequest request, String key) {HttpSession session = request.getSession();Object attribute = session.getAttribute(key);Map, Object> resultMap = Maps.newHashMapWithExpectedSize(3);resultMap.put("sessionId", session.getId());resultMap.put("maxInactiveInterval", session.getMaxInactiveInterval());String lastAccessedTime = LocalDateUtils.dateConvertToString(new Date(session.getLastAccessedTime()), LocalDateUtils.DATE_TIME_FORMAT);resultMap.put("lastAccessedTime", lastAccessedTime);String createTime = LocalDateUtils.dateConvertToString(new Date(session.getCreationTime()), LocalDateUtils.DATE_TIME_FORMAT);resultMap.put("createdTime", createTime);//这个key的过期时间为 Session 的最大过期时间 +5 分钟 。resultMap.put("attribute", attribute);return JsonResult.ok(resultMap);}