系统设计及解决方案

发送验证码

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中的验证码

相关推荐
IT规划师1 小时前
Redis 数据类型全解 - GEO 地理空间:附近的人、外卖、打车——背后原理与精度陷阱(九)
redis·.net
我不会起名字32221 小时前
Redis 从 0 到 1(三十三):机器断电 Redis 起不来——AOF/RDB 损坏的 4 步抢救流程
redis·数据恢复·aof·rdb·排查
csdn_aspnet1 天前
Redis 入门:Windows、Mac安装指南
数据库·windows·redis·缓存·mac
IT规划师1 天前
Redis 数据类型全解 - HyperLogLog:12 KB 估出亿级 UV(八)
redis·uv·hyperloglog·.net10
aiks_yuan2 天前
Token 放 Redis 还是用 JWT:Java 实测验签和查 Redis 耗时,退出登录、改密码踢下线怎么做(jjwt 0.12 + Redis 7.2)
redis
我不会起名字3222 天前
Redis 从 0 到 1(二十九):CPU 突然 100%——commandstats 定位法与 6 步排查链路
redis·cpu·慢查询·排查·commandstats
我不会起名字3222 天前
Redis 从 0 到 1(二十八):Redis 抖一下,重试把它打挂了——超时/重试/熔断的 Go 封装
redis·go·超时·熔断·重试
我不会起名字3222 天前
Redis 从 0 到 1(三十):删了一半数据 RSS 不降——内存碎片与 activedefrag 观测
redis·内存碎片·rss·排查·activedefrag