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 Cluster集群动态扩容的实现
Jul 15 Redis
Redisson实现Redis分布式锁的几种方式
Aug 07 Redis
Redis的字符串是如何实现的
Oct 24 Redis
Grafana可视化监控系统结合SpringBoot使用
Apr 19 Redis
Redis数据同步之redis shake的实现方法
Apr 21 Redis
浅谈Redis的事件驱动模型
May 30 Redis
Redis keys命令的具体使用
Jun 05 Redis
如何使用注解方式实现 Redis 分布式锁
Jul 23 Redis
Redis过期数据是否会被立马删除
Jul 23 Redis
redis中lua脚本使用教程
Redis高并发防止秒杀超卖实战源码解决方案
Redis的字符串是如何实现的
SpringBoot集成Redis的思路详解
详解redis在微服务领域的贡献
详解Redis在SpringBoot工程中的综合应用
Oct 16 #Redis
Redis三种集群模式详解
You might like
VPS中使用LNMP安装WordPress教程
2014/12/28 PHP
Jquery下的26个实用小技巧(jQuery tips, tricks &amp; solutions)
2010/03/01 Javascript
JQERY limittext 插件0.2版(长内容限制显示)
2010/08/27 Javascript
jQuery中remove()方法用法实例
2014/12/25 Javascript
使用jQuery mobile库检测url绝对地址和相对地址的方法
2015/12/04 Javascript
Vue.js每天必学之内部响应式原理探究
2016/09/07 Javascript
前端js实现文件的断点续传 后端PHP文件接收
2016/10/14 Javascript
详解Jquery Easyui的验证扩展
2017/01/09 Javascript
原生JS实现图片懒加载(lazyload)实例
2017/06/13 Javascript
使用vue构建一个上传图片表单
2017/07/04 Javascript
BootStrap 标题设置跨行无效的解决方法
2017/10/25 Javascript
Vue父组件调用子组件事件方法
2018/02/23 Javascript
使用JavaScript实现node.js中的path.join方法
2018/08/12 Javascript
js简单遍历获取对象中的属性值的方法示例
2019/06/19 Javascript
vue实现行列转换的一种方法
2019/08/06 Javascript
解决vue页面渲染但dom没渲染的操作
2020/07/27 Javascript
Vue项目打包部署到apache服务器的方法步骤
2021/02/01 Vue.js
python的描述符(descriptor)、装饰器(property)造成的一个无限递归问题分享
2014/07/09 Python
Python使用MD5加密算法对字符串进行加密操作示例
2018/03/30 Python
windows下搭建python scrapy爬虫框架步骤
2018/12/23 Python
Python面向对象程序设计类的多态用法详解
2019/04/12 Python
Python基础学习之类与实例基本用法与注意事项详解
2019/06/17 Python
Django 实现前端图片压缩功能的方法
2019/08/07 Python
python之MSE、MAE、RMSE的使用
2020/02/24 Python
Python-opencv实现红绿两色识别操作
2020/06/04 Python
Python学习笔记之装饰器
2020/08/06 Python
通过实例解析python subprocess模块原理及用法
2020/10/10 Python
使用phonegap进行本地存储的实现方法
2017/03/31 HTML / CSS
IWOOT美国:新奇的小玩意
2018/04/27 全球购物
宝拉珍选英国官网:Paula’s Choice英国
2019/05/29 全球购物
Linden Leaves官网:新西兰纯净护肤品
2020/12/20 全球购物
采购主管的岗位职责
2013/12/17 职场文书
本科毕业生自荐信
2014/05/26 职场文书
员工趣味活动方案
2014/08/27 职场文书
户籍证明模板
2014/09/28 职场文书
中秋节英文祝福语句(14句)
2019/09/11 职场文书