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 Socket实现Redis客户端的详细说明
May 26 Redis
详解Redis复制原理
Jun 04 Redis
Redis可视化客户端小结
Jun 10 Redis
Redis Cluster集群动态扩容的实现
Jul 15 Redis
基于Redis的List实现特价商品列表功能
Aug 30 Redis
SpringBoot集成Redis的思路详解
Oct 16 Redis
Redis安装使用RedisJSON模块的方法
Mar 23 Redis
 Redis 串行生成顺序编码的方法实现
Apr 03 Redis
Redis特殊数据类型HyperLogLog基数统计算法讲解
Jun 01 Redis
Redis全局ID生成器的实现
Jun 05 Redis
使用Redis实现分布式锁的方法
Jun 16 Redis
redis lua限流算法实现示例
Jul 15 Redis
redis中lua脚本使用教程
Redis高并发防止秒杀超卖实战源码解决方案
Redis的字符串是如何实现的
SpringBoot集成Redis的思路详解
详解redis在微服务领域的贡献
详解Redis在SpringBoot工程中的综合应用
Oct 16 #Redis
Redis三种集群模式详解
You might like
PHP实现找出链表中环的入口节点
2018/01/16 PHP
thinkPHP+mysql+ajax实现的仿百度一下即时搜索效果详解
2019/07/15 PHP
laravel框架创建授权策略实例分析
2019/11/22 PHP
PHP生成随机密码4种方法及性能对比
2020/12/11 PHP
基于jquery的页面划词搜索JS
2010/09/14 Javascript
js函数参数设置默认值的一种变通实现方法
2014/05/26 Javascript
通过js为元素添加多项样式,浏览器全兼容写法
2014/08/30 Javascript
微信内置浏览器私有接口WeixinJSBridge介绍
2015/05/25 Javascript
javascript验证邮件地址和MX记录的方法
2015/06/16 Javascript
详解jQuery移动页面开发中的ui-grid网格布局使用
2015/12/03 Javascript
JQuery 传送中文乱码问题的简单解决办法
2016/05/24 Javascript
AngularJS基础 ng-non-bindable 指令详细介绍
2016/08/02 Javascript
JavaScript兼容性总结之获取非行间样式案例
2016/08/07 Javascript
AngularJs上传前预览图片的实例代码
2017/01/20 Javascript
jQuery弹出窗口简单实现代码
2017/03/09 Javascript
vue使用axios跨域请求数据问题详解
2017/10/18 Javascript
jQuery简单判断值是否存在于数组中的方法示例
2018/04/17 jQuery
Vue在 Nuxt.js 中重定向 404 页面的方法
2019/04/23 Javascript
javascript实现fetch请求返回的统一拦截
2019/12/22 Javascript
[08:17]Ti9 现场cosplay
2019/09/10 DOTA
python中执行shell命令的几个方法小结
2014/09/18 Python
Python3 SSH远程连接服务器的方法示例
2018/12/29 Python
简单了解Python matplotlib线的属性
2019/06/29 Python
django 做 migrate 时 表已存在的处理方法
2019/08/31 Python
css3实现的多级渐变下拉菜单导航效果代码
2015/08/31 HTML / CSS
使用html5+css3来实现slider切换效果告别javascript+css
2013/01/08 HTML / CSS
Shoes For Crews法国官网:美国领先的防滑鞋设计和制造商
2018/01/01 全球购物
体育纪念品、亲笔签名的体育收藏品:Steiner Sports
2020/07/31 全球购物
校园创业策划书
2014/01/14 职场文书
大学生通用个人自我评价
2014/04/27 职场文书
品质口号大全
2014/06/17 职场文书
董事长助理工作职责范本
2014/07/01 职场文书
村级干部党员公开承诺事项
2015/05/04 职场文书
企业廉洁教育心得体会
2016/01/20 职场文书
python 自动化偷懒的四个实用操作
2021/04/11 Python
Python之Matplotlib绘制热力图和面积图
2022/04/13 Python