利用redis保存验证码并设置过期时间
生活随笔
收集整理的这篇文章主要介绍了
利用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保存验证码并设置过期时间的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 查看防火墙状态并关闭防火墙
- 下一篇: 数组与集合相互转换