当前位置:网站首页>Redis存储验证码
Redis存储验证码
2022-08-10 15:58:00 【qq_45860901】
import redis.clients.jedis.Jedis;
import java.util.Random;
public class RedisConfig {
static String code = null;
public static void main(String[] args) {
//1,先判断该手机验证次数几次了,有没有超时间
//2,然后生成随机码
//3,再判断填写的随机码是否和生成的随机码相同。
verifyPhone("12345678912");
}
public static void verifyPhone(String phone){
Jedis jedis = new Jedis("192.168.110.110", 6379);
String keyPhone = "verify" + phone + "count";
String codePhone = phone + "code";
String s = jedis.get(keyPhone);
//第一次,没有key的记录,所以需要判断null
if(s == null){
jedis.setex(keyPhone, 24*60*60, "1");
}else if(Integer.valueOf(s) < 3){
//第二,三次,有记录了
jedis.incr(keyPhone);
}else {
System.out.println("今天已经超过三次");
jedis.close();
return;
}
//如果还在三次之内可以,可以执行这个获取值的操作
code = getRandomCode();
jedis.setex(codePhone, 60, code);
jedis.close();
}
public static String getRandomCode(){
Random random = new Random();
StringBuilder builder = new StringBuilder();
for (int i = 0; i < 6; ++i){
int tmp = random.nextInt(10);
builder.append(tmp);
}
return builder.toString();
}
}
边栏推荐
猜你喜欢
随机推荐
IPC:Interrupts and Signals
使用 ABAP 正则表达式解析 uuid 的值
Mobileye joins hands with Krypton to open a new chapter in advanced driver assistance through OTA upgrade
不爱生活的段子手不是好设计师|ONES 人物
数据治理项目成功的要点,企业培养数据要把握好关键环节
MySQL批量更新与批量更新多条记录的不同值实现方法
【21天学习挑战赛】折半查找
cmake tips record
利用SparkLauncher 提交Job
安克创新每一个“五星好评”背后,有怎样的流程管理?
全部内置函数详细认识(中篇)
LeetCode-101. Symmetric Tree
h5开容器,新页面返回遇到的问题
Mobileye携手极氪通过OTA升级开启高级驾驶辅助新篇章
xlink解读
推荐几款最好用的MySQL开源客户端,建议收藏!
A Sina Weibo semantic sentiment analysis tool developed by ABAP
【每日一题】【leetcode】26. 链表-链表中倒数第k个节点
Taurus.MVC WebAPI 入门开发教程4:控制器方法及参数定义、获取及基础校验属性【Require】。
十年架构五年生活-09 五年之约如期而至