package cn.ictgu.redis; import cn.ictgu.serv.model.User; import com.alibaba.fastjson.JSONObject; import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Component; import java.util.UUID; import java.util.concurrent.TimeUnit; /** * Redis Token 信息管理 * Created by Silence on 2017/3/11. */ @Component @Log4j2 public class RedisTokenManager { @Value("${redis.prefix.signUp}") private String signUpPrefix; @Autowired private StringRedisTemplate stringRedisTemplate; public String getTokenOfSignUp(User user){ String token = UUID.randomUUID().toString(); String value = JSONObject.toJSONString(user); stringRedisTemplate.opsForValue().set(signUpPrefix + token, value); stringRedisTemplate.expire(signUpPrefix + token, 12, TimeUnit.HOURS); return token; } public User getUserOfSignUp(String token){ String value = stringRedisTemplate.opsForValue().get(signUpPrefix + token); if (value == null){ log.info("用户注册,Token已失效:" + token); return null; } return JSONObject.parseObject(value, User.class); } }