Redis模仿发送手机验证码功能
流程图
文章图片
一:添加jedis依赖包
文章图片
二:测试连接Redis服务是否成功
// 创建Jedis对象用于连接Redis服务(在服务器上通过redis-server需要指定配置文件:redis-server /etc/redis.conf)Jedis jedis = new Jedis("192.168.119.128", 6379); String value = https://www.it610.com/article/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模仿发送手机验证码功能】到此这篇关于Redis模仿手机验证码发送的文章就介绍到这了,更多相关Redis发送手机验证码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- python学习之|python学习之 实现QQ自动发送消息
- springboot使用redis缓存
- (1)redis集群原理及搭建与使用(1)
- springboot结合redis实现搜索栏热搜功能及文字过滤
- Redis——发布订阅/消息队列
- redis|redis 常见问题一
- 实操Redission|实操Redission 分布式服务
- 二、Redis的五种常用数据类型
- 深入理解redis——布隆过滤器BloomFilter
- redis哨兵模式