要保证redis的服务器处于打开状态
上一篇: 基于session的模拟短信注册
https://blog.csdn.net/m0_67930426/article/details/134420531
整个流程是,前端点击获取验证码这个按钮,后端拿到这个请求,通过RandomUtil 工具类的方法生成了一个六位数的随机数(code),模拟短信传来验证码,我这里就在控制台输出这个code,然后使用了session把这个code保存了起来,注册的时候,填写该验证码,从session取出这个
code进行校验,如果一致,则执行下一个命令。
这篇博文我使用了session来保存,现在我使用redis来保存来体现springboot整合redis这一个过程。这个过程实现起来还是比较简单的,如果想要真正的掌握redis还得更多的实践,通过每一次实践学习到新的东西。
目录
1.导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2.配置redis连接信息
java
spring.redis.host=127.0.0.1
spring.redis.port=6379
3.代码更改
首先在实现类添加
java
@Autowired
private StringRedisTemplate stringRedisTemplate;
生成验证码
session的
redis的
java
stringRedisTemplate.opsForValue().set("login:code"+phone,yzmCode,3, TimeUnit.MINUTES);
key : " login:code"+phone
value: yzmCode
数字3表示保存时间为3分钟,3分钟后,保存在redis的key-value就会消失,当然也可以不用设置失效。
验证码校对
session的
redis的
这里的" login:code" +phone 就是前面set里面的key,前面set了什么样的key,后面就get什么样的key,保持一致
调试:
调试之前可以安装一个redis桌面客户端
并且连接redis
手机号格式输出了,怪不得控制台没验证码输出
最底部那个582098
然后查看一下mysql数据库
有新增记录
然后再去查看一下redis
首先刷新一下(点击reload)
因为前面设置了有限期3分钟,3分钟过后会清空