0


使用jedis模拟手机验证码发送

✨ 使用jedis模拟手机验证码发送

📃个人主页:不断前进的皮卡丘
🌞博客描述:梦想也许遥不可及,但重要的是追梦的过程,用博客记录自己的成长,记录自己一步一步向上攀登的印记
🔥个人专栏:微服务专栏

需求分析

在这里插入图片描述

代码实现

生成随机验证码

/**
     * 生成六位数字验证码
     */publicstaticStringgetCode(){Random random =newRandom();String code="";for(int i =0; i <6; i++){int randNumber=random.nextInt(10);
            code+=randNumber;}return code;}

限制手机发送验证码次数,把验证码存储在redis,并且设置有效时间

/**
     * 每一个手机每天只能发送3次验证码,并且我们要把验证码存储到redis中,并且要设置过期时间
     */publicstaticvoidverifyCode(String phone){//连接redisJedis jedis =newJedis("10.100.173.128",6379);//操作redis//手机发送次数keyString countKey="VerifyCode"+phone+":count";//验证码keyString codeKey="VerifyCode"+phone+":code";//每一个手机,一天最多发送三次验证码String count = jedis.get(countKey);if(count==null){//说明是第一次发送//设置发送次数为1
            jedis.setex(countKey,24*60*60,"1");}elseif(Integer.parseInt(count)<=2){//发送次数+1
            jedis.incr(countKey);}else{System.out.println("今天发送次数已经到达三次了,不可以再发送了");//释放连接
            jedis.close();return;}//把验证码存储在redis中String vCode =getCode();
        jedis.setex(codeKey,120,vCode);
        jedis.close();}

验证码的校验

/**
     * 验证码的校验
     */publicstaticvoidgetRedisCode(String phone,String code){Jedis jedis =newJedis("10.100.173.128",6379);//从redis中获取验证码,然后和用户输入的验证码进行比较//验证码keyString codeKey="VerifyCode"+phone+":code";String redisCode = jedis.get(codeKey);//判断if(redisCode.equals(code)){System.out.println("验证成功");}else{System.out.println("验证失败");}
        jedis.close();}

测试

在这里插入图片描述

标签: redis java 缓存

本文转载自: https://blog.csdn.net/qq_52797170/article/details/126796372
版权归原作者 不断前进的皮卡丘 所有, 如有侵权,请联系我们删除。

“使用jedis模拟手机验证码发送”的评论:

还没有评论