欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

利用redis保存验证码并设置过期时间

发布时间:2023/12/3 编程问答 45 豆豆
生活随笔 收集整理的这篇文章主要介绍了 利用redis保存验证码并设置过期时间 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
package com.atguigu.jedis;import redis.clients.jedis.Jedis;import java.util.Random;public class PhoneCode {public static void main(String[] args) {//模拟验证码发送verifyCode("13678765435");//模拟验证码校验//getRedisCode("13678765435","4444");}//3 验证码校验public static void getRedisCode(String phone,String code) {//从redis获取验证码Jedis jedis = new Jedis("39.103.193.185",6379);//验证码keyString codeKey = "VerifyCode"+phone+":code";String redisCode = jedis.get(codeKey);//判断if(redisCode.equals(code)) {System.out.println("成功");}else {System.out.println("失败");}jedis.close();}//2 每个手机每天只能发送三次,验证码放到redis中,设置过期时间120public static void verifyCode(String phone) {//连接redisJedis jedis = new Jedis("39.103.193.185",6379);//拼接key//手机发送次数keyString countKey = "VerifyCode"+phone+":count";//验证码keyString codeKey = "VerifyCode"+phone+":code";//每个手机每天只能发送三次String count = jedis.get(countKey);if(count == null) {//没有发送次数,第一次发送//设置发送次数是1jedis.setex(countKey,24*60*60,"1");} else if(Integer.parseInt(count)<=2) {//发送次数+1jedis.incr(countKey);} else if(Integer.parseInt(count)>2) {//发送三次,不能再发送System.out.println("今天发送次数已经超过三次");jedis.close();}//发送验证码放到redis里面String vcode = getCode();jedis.setex(codeKey,120,vcode);jedis.close();}//1 生成6位数字验证码public static String getCode() {Random random = new Random();String code = "";for(int i=0;i<6;i++) {int rand = random.nextInt(10);code += rand;}return code;} }

总结

以上是生活随笔为你收集整理的利用redis保存验证码并设置过期时间的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。