温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Redis如何模仿手机验证码发送

发布时间:2021-11-01 17:45:28 来源:亿速云 阅读:197 作者:小新 栏目:开发技术

这篇文章将为大家详细讲解有关Redis如何模仿手机验证码发送,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

具体如下:

流程图

Redis如何模仿手机验证码发送

一:添加jedis依赖包

Redis如何模仿手机验证码发送

二:测试连接Redis服务是否成功

// 创建Jedis对象用于连接Redis服务(在服务器上通过redis-server需要指定配置文件:redis-server /etc/redis.conf) Jedis jedis = new Jedis("192.168.119.128", 6379); String value = jedis.ping(); System.out.println(value); jedis.close();

三:编写生成验证码方法

/**      * 生成验证码的方法      * @return code      */     public static String getCode() {         Random random = new Random();         String code = "";         for (int i = 0; i < 6; i++) {             int num = random.nextInt(10);             code += num;         }         System.out.println(code);         return code;     }

四:编写发送验证码方法

/**      * 用户点击生成验证码并将其添加到redis中      * @param phone      */     public static void sendVerifyCode(String phone) {         Jedis jedis = new Jedis("192.168.119.128", 6379);           // 手机号码的key,获取手机号码发送验证码次数         String countKey = "VerifyCode" + phone + ":count";         // 验证码的key,获取手机号码的验证码         String codeKey = "VerifyCode" + phone + ":code";           // 获取countKey判断当前手机号码是否可以发送验证码         String count = jedis.get(countKey);         if (count == null) {             jedis.setex(countKey, 24 * 60 * 60, "1");         } else if (Integer.parseInt(count) <= 2) {             jedis.incr(countKey);         } else if (Integer.parseInt(count) > 2) {             System.out.println("当前手机号发送验证码次数超过上限,请明天再发送验证码");             jedis.close();         }           String code = getCode();         jedis.setex(codeKey, 120, code);           jedis.close();     }

五:编写校验验证码方法

/**      * 用户输入手机号以及验证码进行校验      * @param phone      * @param code      */     public static void CustomerVerifyCode(String phone, String code) {         Jedis jedis = new Jedis("192.168.119.128", 6379);           String codeKey = "VerifyCode" + phone + ":code";         String phoneVerifyCode = jedis.get(codeKey);           if (phoneVerifyCode.equals(code)) {             System.out.println("校验成功!");         } else {             System.out.println("校验失败!");         }           jedis.close();     }

关于“Redis如何模仿手机验证码发送”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI