redis java 密码_Redis 在java中的使用(登录验证,5分钟内连续输错3次密码,锁住帐号,半小时后解封)(三)...

在java中使用redis,做简单的登录帐号的验证,使用string类型,使用redis的过期时间功能

1.首先进行redis的jar包的引用,因为用的是springBoot,springBoot集成了redis直接引入即可

org.springframework.boot

spring-boot-starter-redis

2.安装redis的jar包的驱动

redis.clients

jedis

2.9.0

3. 设置过期时间

第一种:

jedis.setex(loginId, 300, "1"); key为loginId,过期时间为300秒,值为"1" 或者

第二种:

jedis.set(loginId,"1")

jedis.expire(loginId,300)

package com.idcos.automate.test.workflow.operation;

import org.junit.Test;

import redis.clients.jedis.Jedis;

/**

* @author GuanBin

* @version Redis.java, v1 2018/6/20 下午2:47 GuanBin Exp $$

*/

public class RedisTest {

Jedis jedis = new Jedis("127.0.0.1", 6379);

@Test

public void testCheckLogin() {

//登录验证时,5分钟内连续输错3次密码,锁住帐号;帐号锁住时间为半个小时,半小时后解封

checkUser("tom", "123");

}

private void checkUser(String loginId, String password) {

Boolean exit = jedis.exists(loginId);

if (exit == true && ("true".equals(jedis.get(loginId)))) {

System.out.println("该帐号已被锁,请确认");

// throw new CommonBizException("该帐号已被锁,请确认");

} else if (exit == true && "5".equals(jedis.get(loginId))) {

//锁帐号

jedis.set(loginId, "true");

//设置半个小时的过期时间

jedis.expire(loginId, 30 * 60);

} else {

checkNameAndPassword("tom", "123");

}

}

private void checkNameAndPassword(String loginId, String password) {

if ("tom".equals(loginId) && "123456".equals(password)) {

jedis.del(loginId);

System.out.println("登录成功");

} else {

if (jedis.exists(loginId)) {

jedis.incr(loginId);

} else {

jedis.setex(loginId, 300, "1");

}

System.out.println("第" + jedis.get(loginId) + "登录失败");

}

}

}

cd9f62a0d8c9a408ee032a7c9a795dcb.png

01f1a45aaa1f4d220ffea116e6dccf6a.png

在客户端用ttl命令查看tom这个key还有多长时间解锁

688dafa40dc01679ce43cb1e83bbdab5.png

Redis在java中的使用

1.首先安装Redis环境.可以在Windows.linux.别的服务器上搭建Redis环境 2.在java工程中导入必须的jar包 如maven上导入两个jar]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值