个人觉得登录时使用redis存储token并设置有效时间,有一个很严重的buy

来源:7-16 token登录需要注意的点以及登录代码优化

漠言

2021-05-12

个人觉得登录时使用redis存储token并设置有效时间,有一个很严重的buy。比如token有效时间为1小时,用户登录几分钟后关闭程序,在59分的时候又打开了程序,这时程序还处理登录状态,但1分钟过后,由于token过期了,就自动退出登录,用户还需要重新登录,影响用户的使用体验。处理方法:token设置为永久存储,前端获取到token后存储(不设置有效时间),如果前端存储的token被清除后需要重新登录获取token。这是我个人的想法,不知道是否可行,望老师指点!

写回答

1回答

天经地义

2021-06-01

这种问题属于业务层面上的考虑,具体要结合实际的业务,永不过期的token可能会导致一些长时间不登录的用户token一直遗留在redis中,浪费空间,也有一种常用的交互方式,前后端都有一个过期时间,前端检测到剩余有效期只剩xx分钟了,自动向后台请求一个续期,将过期时间延长至1小时,这样虽然麻烦了点,但是既可以保证一直在使用的情况下token不过期,也能保障不会有“垃圾”token占用空间

2
0

全流程开发 TP6.0实战高并发电商服务系统

一课就能掌握TP6.0基础及运用,打造完整高并发的电商后端项目

1473 学习 · 1334 问题

查看课程