环境准备:虚拟机Linux系统,redis安装在虚拟机中。

前提条件:虚拟机开启、redis开启。需要在pom中加入jedis依赖

1、代码

package com.jedis;

import redis.clients.jedis.Jedis;

import java.util.Random;

public class JedisTestRedis {
public static void main(String[] args) {
//模拟发送
verifyCode("18548375642");
// getReidsCode("18548375642","11684"); // System.out.println(getRandom()); } //3、验证验证码
public static void getReidsCode(String phone,String code){
//连接redis
Jedis jedis = new Jedis("虚拟机地址",6379);
jedis.auth("123456"); //验证码
String codeKey = "verifyCode"+phone+"code";
String redisCode = jedis.get(codeKey); //判断
if(redisCode.equals(code)){
System.out.println("成功");
}else{
System.out.println("失败");
}
jedis.close();
} public static void verifyCode(String phone){
//连接redis
Jedis jedis = new Jedis("虚拟机地址",6379);
jedis.auth("123456"); //手机发送次数key
String countKey = "verifyCode"+phone+"count"; //验证码
String codeKey = "verifyCode"+phone+"code"; //每个手机每天发送三次
String count = jedis.get(countKey);
if(count == null){
//第一次发送、设置次数1
jedis.setex(countKey,24*60*60,"1");
}else if(Integer.parseInt(count)<=2){
//发送次数加1
jedis.incr(countKey);
}else if(Integer.parseInt(count)>2){
System.out.println("发送次数已经达到三次");
jedis.close();
return;
} //发送验证码放到redis中
String vcode = getRandom();
System.out.println(vcode);
jedis.setex(codeKey,120,vcode);
jedis.close(); } //六位数验证码
public static String getRandom(){
Random random = new Random();
String code ="";
for(int i=0;i<6;i++){
int rand = random.nextInt(10);
code+=rand;
}
return code; } }

2、测试结果

2.1、第一次发送

2.2、填写正确的验证码

2.3、填写错误的验证码

连续发送多次验证码

最新文章

  1. Initializing connection provider: org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider停住了
  2. C#的选择语句练习
  3. BZOJ1188 [HNOI2007]分裂游戏(SG函数)
  4. TimeVal类——Live555源码阅读(一)基本组件类
  5. Spec模板
  6. centos 6.5卸载Mysql
  7. SU suspecfk命令学习
  8. PHP-FPM + Nginx: 502错误
  9. BZOJ1930 [Shoi2003]pacman 吃豆豆
  10. Spring整合activiti-modeler5.16遇到的小问题
  11. zipline tradingcalendar
  12. LeetCode——Add Two Numbers
  13. 【转】Android图片加载神器之Fresco-加载图片基础[详细图解Fresco的使用]
  14. Darwin Streaming Server 安裝操作備忘
  15. 输入框修改placeholde颜色
  16. codeforces 341C Iahub and Permutations(组合数dp)
  17. WinDbg分析DUMP文件
  18. 【js 编程艺术】小制作四
  19. java-信息安全(二)-对称加密算法DES,3DES,AES,Blowfish,RC2,RC4
  20. MSSQL Server 数据库备份还原常用SQL语句及注意

热门文章

  1. MySQL Test Run 测试框架介绍
  2. LuoguP3047 [USACO12FEB]附近的牛Nearby Cows(树形DP,容斥)
  3. Flutter 开启 Windows、macOS 平台支持的命令
  4. “判断性别”Demo需求分析和初步设计(中)
  5. 刷题记录:LC1997-访问完所有房间的第一天
  6. linux之间上传下载--SCP
  7. 【JDBC】学习路径6-SQL插入、修改、删除数据
  8. ViewGroup事件分发源码分析
  9. Tomcat入门学习笔记
  10. D - Distinct Trio