Jedis操作Redis实现模拟验证码发送功能
那么说明你redis服务器服务器端还没打开
//启动服务端
redis-server /etc/redis.conf
//启动客户端
redis-cli
如果启动成功,就是这样
导入Jedis依赖
dependencies
dependency
groupId redis.clients /groupId
artifactId jedis /artifactId
version 3.2.0 /version
/dependency
/dependencies
public class JedisDemo1 { public static void main(String[] args) { Jedis jedis = new Jedis("xx.xxx.xx.xx",6379); //如果redis配置了密码就在这里输入不然会连接失败 jedis.auth("xxxx"); String value = jedis.ping(); System.out.println(value); }
如果是第一次连接会很大概率报错
这时候有两种方法第一种是关闭防火墙,但是这种不太好,其实只要开放6379端口连接就可以了
jedis实现模拟验证码public class PhoneCode { public static void main(String[] args) { verifyCode("12345678900"); //校验验证码是否正确 // GetRedisCode("12345678900","940487"); //1.生成六位验证码 public static String getCode(){ Random random = new Random(); String Code = ""; for (int i = 0; i i++) { int i1 = random.nextInt(10); Code = Code +i1; return Code; //2.每个手机每天只能发三次,验证码放到redis中,设置过期时间 public static void verifyCode(String phone){ //连接redis Jedis jedis = new Jedis("172.18.17.215",6379); jedis.auth("1052600676"); //先自定义两个key,从而通过后面步骤给key赋一个value //手机发送次数 String CountKey = phone+"count"; //验证码key String CodeKey = phone + "code"; //每个手机每天只能发送三次 //通过key查看是否有value String count = jedis.get(CountKey); if (count == null){ //没有发送次数,说明是第一次发送,那就设置发送次数为1 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(); return; //设置过期时间 //value String codee = getCode(); jedis.setex(CodeKey,120,codee); jedis.close(); //3.验证码校验 public static void GetRedisCode(String phone,String code){ //连接redis Jedis jedis = new Jedis("172.18.17.215",6379); jedis.auth("1052600676"); //验证码key String CodeKey = phone + "code"; String RedisCode = jedis.get(CodeKey); if (RedisCode.equals(code)){ System.out.println("成功"); }else{ System.out.println("失败"); jedis.close(); }
通过这些操作实现验证码发送
超过三次
jedis.set( k1 , v1 );
jedis.set( k2 , v2 );
jedis.set( k3 , v3 );
Set String keys = jedis.keys( * );
System.out.println(keys.size());
for (String key : keys) {
System.out.println(key);
}
System.out.println(jedis.exists( k1 ));
System.out.println(jedis.ttl( k1 ));
System.out.println(jedis.get( k1 ));
jedis.mset( str1 , v1 , str2 , v2 , str3 , v3 );
System.out.println(jedis.mget( str1 , str2 , str3 ));
List String list = jedis.lrange( mylist ,0,-1);
for (String element : list) {
System.out.println(element);
jedis.sadd( orders , order01 );
jedis.sadd( orders , order02 );
jedis.sadd( orders , order03 );
jedis.sadd( orders , order04 );
Set String smembers = jedis.smembers( orders );
for (String order : smembers) {
System.out.println(order);
}
jedis.srem( orders , order02 );
jedis.hset( hash1 , userName , lisi );
System.out.println(jedis.hget( hash1 , userName ));
Map String,String map = new HashMap String,String
map.put( telphone , 13810169999 );
map.put( address , atguigu );
map.put( email , abc@163.com );
jedis.hmset( hash2 ,map);
List String result = jedis.hmget( hash2 , telphone , email );
for (String element : result) {
System.out.println(element);
jedis.zadd( zset01 , 100d, z3 );
jedis.zadd( zset01 , 90d, l4 );
jedis.zadd( zset01 , 80d, w5 );
jedis.zadd( zset01 , 70d, z6 );
Set String zrange = jedis.zrange( zset01 , 0, -1);
for (String e : zrange) {
System.out.println(e);
到此这篇关于Jedis操作Redis实现模拟验证码发送的文章就介绍到这了,更多相关Redis验证码发送内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题
本站部分文章参考或来源于网络,如有侵权请联系站长。
数据库远程运维 Jedis操作Redis实现模拟验证码发送功能
相关文章
- Redis入门教程:快速掌握NoSQL的超强缓存工具(redis详细教程)
- 使用Redis实现分布式缓存能力(分布式缓存redis)
- 维护Redis从库:维护与实践(redis从库)
- 处理Redis Java实现高效的过期处理(redisjava过期)
- Redis实现缓存刷新,加速数据查询(redis刷新缓存)
- 简单易行的指南:阿里云 Redis安装教程(阿里云redis安装)
- Redis突破极限:如何设置安全密码(redis 设置密码命令)
- 微信红包利用Redis实现快速抢红包(微信redis红包)
- 获取Redis服务器时间,实现同步(获取redis机器时间)
- Redis持久化技术概览(简述redis持久化方法)
- 游戏开发实现高效的Redis数据库存储(游戏redis数据库)
- 清空Redis缓存中的单条数据(清除redis单条数据)
- 一键搭建Redis轻松实现数据库高效存储(一键搭建redis)
- 的应用Web开发中Redis的助力极大提升项目效率(web项目中redis)
- 探索Redis持久化机制,实现持久性存储(如何看懂redis持久化)
- 查看Redis版本命令一步获取(命令查看redis版本)
- 玩转Redis集群,挖掘极致性能(redis集群有哪些玩法)
- Redis集群实现数据同步的奇妙之路(redis集群数据同步吗)
- 提升效率Redis队列实现(redis队列效率)
- Redis重复推送消息如何有效规避(redis重复推送消息)
- Redis配置与备份确保完整性及可用性(redis配置备份)
- Redis运行不必依赖GCC(redis运行要gcc吗)
- Redis实现过期数据定时监控配置方式(redis过期监听配置)
- Redis订阅发布模式实现消息及时传递(redis订阅发布消费者)
- Redis获取之路从零走向更高(redis获取路径)
- Redis实现场景设置数据自动过期(redis过期场景)