Redis模仿手机验证码发送的实现示例


Posted in Redis onNovember 02, 2021

本文主要介绍了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模仿手机验证码发送的实现示例的文章就介绍到这了,更多相关Redis模仿手机验证码发送内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Redis 相关文章推荐
深入理解redis中multi与pipeline
Jun 02 Redis
聊一聊Redis与MySQL双写一致性如何保证
Jun 26 Redis
redis 存储对象的方法对比分析
Aug 02 Redis
为什么RedisCluster设计成16384个槽
Sep 25 Redis
关于使用Redisson订阅数问题
Jan 18 Redis
Redis+Lua脚本实现计数器接口防刷功能(升级版)
Feb 12 Redis
sentinel支持的redis高可用集群配置详解
Apr 01 Redis
Redis实现一个账号只能登录一个设备
Apr 19 Redis
Redis基本数据类型Zset有序集合常用操作
Jun 01 Redis
浅谈Redis缓冲区机制
Jun 05 Redis
Redis+AOP+自定义注解实现限流
Jun 28 Redis
Redis过期数据是否会被立马删除
Jul 23 Redis
redis中lua脚本使用教程
Redis高并发防止秒杀超卖实战源码解决方案
Redis的字符串是如何实现的
SpringBoot集成Redis的思路详解
详解redis在微服务领域的贡献
详解Redis在SpringBoot工程中的综合应用
Oct 16 #Redis
Redis三种集群模式详解
You might like
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
2017/11/10 PHP
Mac下快速搭建PHP开发环境步骤详解
2019/05/05 PHP
PHP设计模式之建造者模式(Builder)原理与用法案例详解
2019/12/12 PHP
javascript FormatNumber函数实现方法
2008/12/30 Javascript
JQuery团队打造的javascript单元测试工具QUnit介绍
2010/02/26 Javascript
基于jquery的button默认enter事件(回车事件)。
2011/05/18 Javascript
jQuery之$(document).ready()使用介绍
2012/04/05 Javascript
js移除事件 js绑定事件实例应用
2012/11/28 Javascript
阻止事件(取消浏览器对事件的默认行为并阻止其传播)
2013/11/03 Javascript
浅谈javascript获取元素transform参数
2015/07/24 Javascript
Jquery全屏相册插件zoomvisualizer具有调节放大与缩小功能
2015/11/02 Javascript
JS闭包、作用域链、垃圾回收、内存泄露相关知识小结
2016/05/16 Javascript
js实现精确到秒的倒计时效果
2016/05/29 Javascript
文本框只能输入数字的js代码(含小数点)
2016/07/10 Javascript
Bootstrap中的Dropdown下拉菜单更改为悬停(hover)触发
2016/08/31 Javascript
js实现数组去重方法及效率?Ρ? target=
2017/02/14 Javascript
js代码延迟一定时间后执行一个函数的实例
2017/02/15 Javascript
微信小程序 两种为对象属性赋值的方式详解
2017/02/23 Javascript
vue 2.0项目中如何引入element-ui详解
2017/09/06 Javascript
element-ui 本地化使用教程详解
2019/10/28 Javascript
vue element-ui实现动态面包屑导航
2019/12/23 Javascript
python查看模块安装位置的方法
2018/10/16 Python
将string类型的数据类型转换为spark rdd时报错的解决方法
2019/02/18 Python
Hotels.com台湾:饭店订房网
2017/09/06 全球购物
英国领先的运动营养品牌:Protein Dynamix
2018/01/02 全球购物
奇怪的鱼:Weird Fish
2018/03/18 全球购物
师范毕业生个人求职信
2013/12/09 职场文书
七年级数学教学反思
2014/01/22 职场文书
留学生求职信
2014/06/03 职场文书
大学迎新标语
2014/06/26 职场文书
绿色小区申报材料
2014/08/22 职场文书
房屋所有权证明
2014/10/20 职场文书
2014年卫生监督工作总结
2014/12/09 职场文书
2014年节能降耗工作总结
2014/12/11 职场文书
新员工入职欢迎词
2015/01/23 职场文书
2015年路政工作总结
2015/05/22 职场文书