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 14 Redis
Redis5之后版本的高可用集群搭建的实现
Apr 27 Redis
浅谈Redis主从复制以及主从复制原理
May 29 Redis
在redisCluster中模糊获取key方式
Jul 09 Redis
Redis做数据持久化的解决方案及底层原理
Jul 15 Redis
springboot使用Redis作缓存使用入门教程
Jul 25 Redis
Jedis操作Redis实现模拟验证码发送功能
Sep 25 Redis
详解Redis在SpringBoot工程中的综合应用
Oct 16 Redis
基于Redis6.2.6版本部署Redis Cluster集群的问题
Apr 01 Redis
Redis基本数据类型Set常用操作命令
Jun 01 Redis
Redis实现分布式锁的五种方法详解
Jun 14 Redis
redis中lua脚本使用教程
Redis高并发防止秒杀超卖实战源码解决方案
Redis的字符串是如何实现的
SpringBoot集成Redis的思路详解
详解redis在微服务领域的贡献
详解Redis在SpringBoot工程中的综合应用
Oct 16 #Redis
Redis三种集群模式详解
You might like
php生成略缩图代码
2012/07/16 PHP
php中的动态调用实例分析
2015/01/07 PHP
CodeIgniter与PHP5.6的兼容问题
2015/07/16 PHP
php PDO异常处理详解
2016/11/20 PHP
PHP redis实现超迷你全文检索
2017/03/04 PHP
php防止表单重复提交实例讲解
2019/02/11 PHP
js bind 函数 使用闭包保存执行上下文
2011/12/26 Javascript
jQuery 1.8 Release版本发布了
2012/08/14 Javascript
javascript禁用Tab键脚本实例
2013/11/22 Javascript
jquery动态更换设置背景图的方法
2014/03/25 Javascript
Jquery对数组的操作技巧整理
2014/03/25 Javascript
使用jQuery获取data-的自定义属性
2015/11/10 Javascript
vueJS简单的点击显示与隐藏的效果【实现代码】
2016/05/03 Javascript
JavaScript实现in-place思想的快速排序方法
2016/08/07 Javascript
D3.js实现散点图和气泡图的方法详解
2016/09/21 Javascript
vue进行图片的预加载watch用法实例讲解
2018/02/07 Javascript
微信小程序实现指定显示行数多余文字去掉用省略号代替
2018/07/25 Javascript
vue左侧菜单,树形图递归实现代码
2018/08/24 Javascript
JavaScript中常用的简洁高级技巧总结
2019/03/10 Javascript
使用mixins实现elementUI表单全局验证的解决方法
2019/04/02 Javascript
举例讲解Python设计模式编程中对抽象工厂模式的运用
2016/03/02 Python
python验证码识别实例代码
2018/02/03 Python
Python django框架输入汉字,数字,字符生成二维码实现详解
2019/09/24 Python
Python 根据数据模板创建shapefile的实现
2019/11/26 Python
使用 Supervisor 监控 Python3 进程方式
2019/12/05 Python
Python matplotlib画曲线例题解析
2020/02/07 Python
tensorboard 可以显示graph,却不能显示scalar的解决方式
2020/02/15 Python
解决python脚本中error: unrecognized arguments: True错误
2020/04/20 Python
Python 远程开关机的方法
2020/11/18 Python
纯HTML5+CSS3制作图片旋转
2016/01/12 HTML / CSS
html5移动端自适应布局的实现
2020/04/15 HTML / CSS
中国制造网:Made-in-China.com
2019/10/25 全球购物
企业安全生产演讲稿
2014/05/09 职场文书
党员自我评议个人对照检查材料
2014/09/16 职场文书
工作态度不端正检讨书
2014/10/04 职场文书
Typescript类型系统FLOW静态检查基本规范
2022/05/25 Javascript