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在直播场景的实践方案
Apr 27 Redis
在K8s上部署Redis集群的方法步骤
Apr 27 Redis
使用Redis实现秒杀功能的简单方法
May 08 Redis
详解Redis主从复制实践
May 19 Redis
分布式锁为什么要选择Zookeeper而不是Redis?看完这篇你就明白了
May 21 Redis
Redis 哨兵集群的实现
Jun 18 Redis
浅谈Redis中的RDB快照
Jun 29 Redis
Redis+Lua脚本实现计数器接口防刷功能(升级版)
Feb 12 Redis
redis击穿 雪崩 穿透超详细解决方案梳理
Mar 17 Redis
Redis基本数据类型哈希Hash常用操作命令
Jun 01 Redis
浅谈Redis变慢的原因及排查方法
Jun 21 Redis
redis中lua脚本使用教程
Redis高并发防止秒杀超卖实战源码解决方案
Redis的字符串是如何实现的
SpringBoot集成Redis的思路详解
详解redis在微服务领域的贡献
详解Redis在SpringBoot工程中的综合应用
Oct 16 #Redis
Redis三种集群模式详解
You might like
调试WordPress中定时任务的相关PHP脚本示例
2015/12/10 PHP
PHP会话操作之cookie用法分析
2016/09/28 PHP
php解决约瑟夫环算法实例分析
2019/09/30 PHP
Javascript的getYear、getFullYear、getUTCFullYear异同分享
2011/11/30 Javascript
JQuery操作tr和td内容的方法实例
2013/03/06 Javascript
基于jquery自定义的漂亮单选按钮RadioButton
2013/11/19 Javascript
通过复制Table生成word和excel的javascript代码
2014/01/20 Javascript
JavaScript实现的内存数据库LokiJS介绍和入门实例
2014/11/17 Javascript
javascript实现仿腾讯游戏选择
2015/05/14 Javascript
angularjs学习笔记之三大模块(modal,controller,view)
2015/09/26 Javascript
JS产生随机数的几个用法详解
2016/06/22 Javascript
Bootstrap整体框架之JavaScript插件架构
2016/12/15 Javascript
实现一个简单的vue无限加载指令方法
2017/01/10 Javascript
Bootstrap表单制作代码
2017/03/17 Javascript
JavaScript中的回调函数实例讲解
2019/01/27 Javascript
Vue项目实现简单的权限控制管理功能
2019/07/17 Javascript
vue获取验证码倒计时组件
2019/08/26 Javascript
解决layui数据表格table的横向滚动条显示问题
2019/09/04 Javascript
Element Alert警告的具体使用方法
2020/07/27 Javascript
python编写简单爬虫资料汇总
2016/03/22 Python
win与linux系统中python requests 安装
2016/12/04 Python
Python 闭包的使用方法
2017/09/07 Python
一个简单的python爬虫程序 爬取豆瓣热度Top100以内的电影信息
2018/04/17 Python
详解python数据结构和算法
2019/04/18 Python
python字符串和常用数据结构知识总结
2019/05/21 Python
PyQt5 QListWidget选择多项并返回的实例
2019/06/17 Python
Django实现文件上传和下载功能
2019/10/06 Python
PyQt5 文本输入框自动补全QLineEdit的实现示例
2020/05/13 Python
中国电子产品批发商/跨境电商/外贸网:Sunsky-online
2020/04/20 全球购物
实习鉴定评语
2014/01/19 职场文书
组工干部演讲稿
2014/09/02 职场文书
领导班子党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
2015年路政工作总结
2015/05/22 职场文书
2016班级元旦联欢会开幕词
2016/03/04 职场文书
作文之亲情600字
2019/09/23 职场文书
MySql学习笔记之事务隔离级别详解
2021/05/12 MySQL