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 相关文章推荐
为Java项目添加Redis缓存的方法
May 18 Redis
详解redis分布式锁的这些坑
May 19 Redis
Redis集群的关闭与重启操作
Jul 07 Redis
在项目中使用redis做缓存的一些思路
Sep 14 Redis
详解Redis在SpringBoot工程中的综合应用
Oct 16 Redis
Redis高并发防止秒杀超卖实战源码解决方案
Nov 01 Redis
redis击穿 雪崩 穿透超详细解决方案梳理
Mar 17 Redis
redis数据一致性的实现示例
Mar 18 Redis
 Redis 串行生成顺序编码的方法实现
Apr 03 Redis
redis复制有可能碰到的问题汇总
Apr 03 Redis
一文教你快速生成MySQL数据库关系图
Jun 28 Redis
redis中lua脚本使用教程
Redis高并发防止秒杀超卖实战源码解决方案
Redis的字符串是如何实现的
SpringBoot集成Redis的思路详解
详解redis在微服务领域的贡献
详解Redis在SpringBoot工程中的综合应用
Oct 16 #Redis
Redis三种集群模式详解
You might like
php mssql 数据库分页SQL语句
2008/12/16 PHP
php 中英文语言转换类代码
2011/08/11 PHP
PHP函数引用返回的实例详解
2016/09/11 PHP
PHP版单点登陆实现方案的实例
2016/11/17 PHP
PHP常用算法和数据结构示例(必看篇)
2017/03/15 PHP
再谈Yii Framework框架中的事件event原理与应用
2020/04/07 PHP
检测是否已安装 .NET Framework 3.5的js脚本
2009/02/14 Javascript
jQuery 注意事项 与原因分析
2009/04/24 Javascript
jquery 页面全选框实践代码
2010/04/02 Javascript
说明你的Javascript技术很烂的五个原因
2011/04/26 Javascript
JavaScript根据数据生成百分比图和柱状图的实例代码
2013/07/14 Javascript
JS获取当前网址、主机地址项目根路径
2013/11/19 Javascript
100行代码理解和分析vue2.0响应式架构
2017/03/09 Javascript
vue项目中用cdn优化的方法
2018/01/03 Javascript
JS实现点击按钮可实现编辑功能
2018/07/03 Javascript
vue基础之v-bind属性、class和style用法分析
2019/03/11 Javascript
详解Vue之父子组件传值
2019/04/01 Javascript
浅谈Vue.js组件(二)
2019/04/09 Javascript
layui 数据表格复选框实现单选功能的例子
2019/09/19 Javascript
vue 解决文本框被键盘遮住的问题
2019/11/06 Javascript
使用纯前端JavaScript实现Excel导入导出方法过程详解
2020/08/07 Javascript
jQuery实现动态加载瀑布流
2020/09/01 jQuery
[02:03]风行者至宝清风环佩外观展示
2020/09/05 DOTA
python版简单工厂模式
2017/10/16 Python
CentOS下Python3的安装及创建虚拟环境的方法
2018/11/28 Python
python中for循环把字符串或者字典添加到列表的方法
2019/07/20 Python
python破解bilibili滑动验证码登录功能
2019/09/11 Python
将python2.7添加进64位系统的注册表方式
2019/11/20 Python
美国宠物美容和宠物用品购物网站:Cherrybrook
2018/12/07 全球购物
介绍一下sql server的安全性
2014/08/10 面试题
中等生评语大全
2014/05/04 职场文书
说明书怎么写
2014/05/06 职场文书
小学少先队工作总结2015
2015/05/26 职场文书
2019年大学毕业生个人自我鉴定范文大全
2019/03/21 职场文书
元素水平垂直居中的方式
2021/03/31 HTML / CSS
浅谈PHP7中的一些小技巧
2021/05/29 PHP