系统设计及解决方案

发送验证码

1:根据手机号从Redis中获取value(验证码_时间戳)

2:如果value不为空,并且时间戳与当前时间戳的间隔小于60秒,则返回一个错误信息

3:生成随机验证码

4:调用阿里云短信服务API给用户发送短信验证码

5:将生成的验证码保存到Redis中,key = login:code:手机号,value = 验证码_时间戳,过期时间 = 5分钟

验证码登录

1:根据手机号从Redis中获取value(验证码_时间戳)

2:value为空则返回一个错误信息

3:验证码对比(页面提交的验证码是否等于从Redis中获取的验证码)

4:登录成功后删除Redis中的验证码

相关推荐
Gh0st_Lx1 小时前
【9】面试官:讲一下MySQL 和 Redis 的缓存一致性问题
redis·mysql·缓存
2401_878820473 小时前
Redis+Lua脚本实现全局令牌桶限流
数据库·redis·lua
身如柳絮随风扬3 小时前
Redis 主从复制与哨兵机制详解:从原理到高可用实战
数据库·redis·缓存
Plastic garden5 小时前
Redis(2) redis的高可用
java·数据库·redis
CAE虚拟与现实6 小时前
重置系统后,Postgresql不用重装
数据库·redis·postgresql·kafka
java1234_小锋6 小时前
Redis 支持哪些数据类型?请分别说明它们的使用场景
java·数据库·redis
半夜修仙8 小时前
Redis中String数据类型的常见命令
数据库·redis·缓存
LB21128 小时前
消灭并发重复调用:基于 Agent 调用 LLM 的分布式 Single-Flight 实战
java·开发语言·redis·分布式·agent
JAVA社区8 小时前
Java进阶全套教程(七)—— Redis超详细实战详解
java·linux·开发语言·redis·面试·职场和发展
小碗羊肉10 小时前
【Redis | 第三篇】缓存(Cache)
数据库·redis·缓存