数据库
首页 > 数据库> > Redis存取验证码设置key过期时间

Redis存取验证码设置key过期时间

作者:互联网

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>

标签:code,opsForValue,Redis,验证码,获取,key,TimeUnit,redisTemplate
来源: https://blog.csdn.net/qq_47805927/article/details/116272893