news 2026/5/16 8:18:05

Redis点评项目--- Chapter one 用户短信登录(redis)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Redis点评项目--- Chapter one 用户短信登录(redis)

(封面: 中西部情绪)

1.发送验证码

核心逻辑比较简单,如图验证码使用的UUID模拟的验证码,用户需要参传入对应的手机号码。

当用户点击获取验证码之后我们需要将其存入redis缓存当中,后续用作验证码比对,以免用户后续更换手机号使用原先的验证码调包登录。

2.登录 (重要)

用户需要传入对应的手机号验证码进行登录操作,先校验了用户的手机号是否合法,之后从redis中获取对应手机号的验证码并且验证。这里有个小功能,就是没有查询到用户的时候此时会自动注册一个用户提升用户的体验感。生成随机token的后续会作为存储当前登录用户数据的key值,如果用户可以正常登录,先获取用户的数据如果没有数据就帮用户注册一个新用户,如果有数据就先读取用户数据存入redis当中就像前面一样这个key就是UUID生成的随机token,登录成功的时候将这个token返回给前端,之后前端的每次请求都会携带这个token,我们后端只要有这个token就很容易获取redis里面的用户数据,设置过期时间30分钟,以免redis存储爆满,30分钟存储时间指的是用户30分钟未操作,如果在这30分钟中操作了就要实时刷新这个时间,所以这个逻辑我们放在了拦截器里面去实现。

3.双层拦截器 (重要)

两个拦截器分别为登录拦截器还有一个是刷新token拦截器

刷新token拦截器。上一个点说到了30分钟的事情,此时最佳实践是在拦截器中去刷新这个时间,因为每次请求打到服务器中去的时候都需要经过拦截器,我们就在拦截器中实现这个操作。登录的时候我们返回了一个UUID生成的随机token,所以每次请求我们只要获取请求头中的authorization中的数据就可以拿到redis存储用户数据的key值,我们直接去获取redis当中的用户数据并且将其存入threadlocal当中去方便后续的使用,此时任何操作都需要放行到第二拦截器当中,这个拦截器主要是实现刷新token的操作,任何网络请求都会经过这个拦截器所以最后一步是刷新redis中的token的时效性

登录拦截器。直接获取刷新token拦截器中提前存入的threadlocal的数据,判断这个里面是否有值如果有值说明登录了,没有则反之。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/16 8:17:05

基于MCP与ADB实现AI智能体远程控制安卓手机的实践指南

1. 项目概述:当你的手机成为AI的“眼睛”与“双手” 最近在折腾AI智能体(Agent)的时候,我一直在思考一个问题:如何让这些运行在云端或本地电脑上的“大脑”,能真正感知和操作我们物理世界里的设备&#xf…

作者头像 李华
网站建设 2026/5/16 8:15:22

联盟营销实战技能体系:从市场研究到数据优化的完整盈利框架

1. 项目概述:从“联盟营销技能”到实战工具箱看到“Affitor/affiliate-skills”这个项目标题,我的第一反应是:这绝不是一个简单的教程合集。在联盟营销(Affiliate Marketing)这个领域摸爬滚打了十几年,我深…

作者头像 李华
网站建设 2026/5/16 8:14:35

GPTPortal:基于模型抽象层的AI应用快速部署与统一管理平台

1. 项目概述:一个面向开发者的AI应用快速部署门户 最近在GitHub上看到一个挺有意思的项目,叫GPTPortal。乍一看名字,可能会让人联想到某个特定的AI模型服务,但深入了解一下就会发现,它的定位其实更偏向于一个“门户”或…

作者头像 李华
网站建设 2026/5/16 8:14:22

HyperBus接口技术解析与高性能NOR闪存应用

1. HyperBus接口:重新定义高性能NOR闪存的标准在嵌入式系统设计中,NOR闪存因其快速启动和可靠的数据存储特性,始终占据着关键地位。记得2016年参与汽车电子控制单元开发时,我们曾为选择存储器接口而头疼——传统并行NOR接口需要占…

作者头像 李华
网站建设 2026/5/16 8:13:05

RK3568嵌入式Linux动态引脚复用实现:从Pinctrl原理到工程实践

1. 项目概述:从静态配置到动态切换的跨越在嵌入式Linux开发中,GPIO(通用输入输出)的引脚复用(Pin Multiplexing,简称Pinmux)配置是每个驱动工程师都绕不开的基础操作。传统的做法,无…

作者头像 李华