1.注入Redis
@Resource
RedisTemplate<String, String> redisTemplate;
2.存入验证码
String code = Integer.toString((int) ((Math.random() * 9 + 1) * 100000));
System.out.println(code);
redisTemplate.opsForValue().set(card,code,60, TimeUnit.SECONDS);
return new JsonResult<>(“获取验证码成功,一分钟内有效”);
其中opsForValue()用来存入字符串,还有Hash,List,Set存储类型
附上设置key过期时间用法
TimeUnit用法
TimeUnit.DAYS //天
TimeUnit.HOURS //小时
TimeUnit.MINUTES //分钟
TimeUnit.SECONDS //秒
TimeUnit.MILLISECONDS //毫秒
TimeUnit.NANOSECONDS //毫微秒
TimeUnit.MICROSECONDS //微秒
获取后和输入的验证码比较
String code2 = Convert.toStr(redisTemplate.opsForValue().get(card1));
if (StringUtils.isBlank(code2)){
throw new BaseException("请先获取验证码");
}
其中 Convert.toStr ()方法 ,如果获取不到值包含在此方法中,会返回一个null值。
最后附上Hutool Maven仓库地址
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>4.6.3</version>
</dependency>