黑马点评threadlocal

今天面试,面试官对于threadlocal的使用提问。然后鼠🐭发现不太了解这部分的使用,就说了一个方便以后的使用,面试官不太满意。
1 每次请求都会携带token,直接用redis查询不就可以了吗,为什么还要存到threadlocal
2 用户请求也不一定是一个线程,一个线程过来没有用到另一个线程的信息怎么办#牛客AI配图神器#
全部评论
其实根本原因是TL存储的不是token,而是用户每次请求携带的token解析出来的用户信息,通常是在拦截器中进行解析存储到TL,这样就不存在第二个问题了
55 回复 分享
发布于 2025-03-18 23:49 浙江
jwt最大的优点就是无状态,去中心化存储。存到Redia里就不需要jwt了
11 回复 分享
发布于 2025-03-19 09:32 北京
第一个你是把token放ThreadLocal里了吗。token不会存在ThreadLocal里,因为鉴权token一般每次发送请求的客户端是一样的,但你每一次请求都会分配和上一次请求不一样的线程,你把token存在threadlocal里面就没法验证token了。在一个线程的执行过程里为了不让后面每次拿数据都得访问一次数据库才会鉴权之后把用户信息存在Threadlocal里。 第二个问题没太懂,如果是说Threadlocal数据无法子父线程间共享可以用InheritableThreadLocal或者Transimittablethreadlocal
6 回复 分享
发布于 2025-03-18 18:58 广东
你思考一下openfeign请求为什么丢失就懂了
3 回复 分享
发布于 2025-03-24 20:20 湖南
以xx外卖为例谈谈我的浅薄认知:1.是不是一定要有threadlocal:可以没有的 只需要在每个接口的函数后面读一下header的cookie带的jwt 然后解析即可 2.用threadlocal的好处:a.更好的实现流程前后解耦和 让每部分专注于自己的内容 业务就业务 鉴权就鉴权 b.方便流程中前一级的信息向后一级传递 thradlocal里面可以携带任意信息 c.类似全局exception处理 规范 省事
2 回复 分享
发布于 2025-04-26 20:37 福建
第一个问题,如果每次请求都会携带token,然后通过redis查询,就会出现每个请求映射到控制器之后,控制器的方法都需要实现响应的解析请求头获取JWT,然后再去redis查询,通过拦截器可以轻松实现,不需要大量的代码冗余,而且后期如果需要改变响应的JWT解析规则,或者使用另外的验证规则,就不得不修改具体业务代码。而且高并发场景下,redis的性能一旦被严重影响,将会影响用户请求,尽管改请求不需要与redis交互。
1 回复 分享
发布于 2025-05-29 18:44 福建
m
1 回复 分享
发布于 2025-03-22 18:08 福建
耐面王
点赞 回复 分享
发布于 2025-06-04 11:12 河南
m
点赞 回复 分享
发布于 2025-05-15 18:06 湖北
m
点赞 回复 分享
发布于 2025-04-26 11:37 湖南
threadlocal不是一般存用户解析的信息的吗,前端发送token,后端解析token存到threadlocal,供其他功能使用
点赞 回复 分享
发布于 2025-04-21 23:39 河南
m
点赞 回复 分享
发布于 2025-04-13 21:42 四川
m
点赞 回复 分享
发布于 2025-04-13 11:51 北京
因为token解析同样需要时间,而且redis和jvm通信也需要时间啊,threadlocal是本地的速度更快。
点赞 回复 分享
发布于 2025-04-12 13:37 上海
m
点赞 回复 分享
发布于 2025-04-09 01:24 广东
m
点赞 回复 分享
发布于 2025-04-08 11:07 湖南
mark
点赞 回复 分享
发布于 2025-04-06 17:54 陕西
m
点赞 回复 分享
发布于 2025-04-05 14:58 天津
m
点赞 回复 分享
发布于 2025-04-04 01:30 江苏
m
点赞 回复 分享
发布于 2025-04-01 08:14 湖南

相关推荐

2025-12-01 16:35
内蒙古工业大学 Java
上个月实习了7天被开,哎想起来真窝囊,领导叫我去会议室,问我技术栈,当时紧张的,问我有没有做项目啥的,我说没有,有练习,其实我也是做过两个项目的但是,当时紧张的说不出来,就说会java,springboot,我没好好看系统,就说系统是增删改查,他让我回去再看,说熟悉完再看走开发路线还是实施什么的路线,3天后问我,我说这是一个审批系统,其实也不是,是一个检测系统,主要流程是委托  受理然后 样品管理 报告管理 审核啥的 。然后问我你觉得系统的好处是啥,忘了当时咋说的了,让我回去再熟悉一下。第二周也没安排任务,没有配电脑,然后周二,我当时企业微信没看,和朋友聊天呢,然后他发了任务一个小时之后我才看到,然后我回复的时候是3点半,未读过了一会儿hr给我叫到小黑屋,说觉得不合适,然后让我填离职表。后来想想一开始要是自信点是不是就能配电脑然后开发了。租的房子转租也没租出去,该交房租了,好在当时是月付,没有选择季付,不然哭都没地方。又回到基地了,好久没学了,有时候我也在想为啥我这么消极,这么不自信,哎,面试什么的也挂了好多了。昨天我妈和我打电话说他年前体检就检查出来脸上骨头里面有囊肿,手术很复杂,说要经过鼻子,医生说手术之后容易感染,他老是头疼,我现在在实训基地,离家好远,我爸也有事,我妈说要不拖到我姐放假回去得1月。不知不觉这么多字了,现在是12.1下午4.20,刚面试完胜软,感觉躺平已经成了口头禅了,想离家远一点,但是每个月还是会问家里要生活费,教室和宿舍还是那样,但是不知为何,我总有一种物是人非的感觉,上厕所和接水要去四楼,我们之前的教室就在四楼,路过教室的时候总有一种恍惚的感觉。网上说高敏感是种天赋,我却感觉老是很痛苦,总是能听出一些弦外之音,可能人家也不是那个意思。我也不知道要表达啥了在都是大佬都群里面,默默的看着他们的发言,遇到问题找大佬解决,但是没有利益交换,大佬也会觉得厌烦的。焦虑什么的是能力跟不上欲望,每天一边郁郁寡欢一遍暴饮暴食,总是希望别人能关心一下自己,但自己也不常关心别人。之前一个大佬给我内推,但是我力扣也没刷都不好意思面试,发了两次面试通知我也没面。就到这里吧,毕业设计题目出来了,先学一下黑马的springboot3vue3全栈吧。
_mos_:别的不多说 就你上班聊天摸鱼整整一个小时不看信息我都觉得很抽象了别扯什么自己这那的 我感觉领导确实已经给你很多时间和空间了 自己还是想想有没有真的用心去做 不是什么东西都要别人推着你去干的 总得学会主动一点吧 最后中肯地说一句 卷不了还是别走互联网这条路了 不好意思说话有些直白但希望你可以明白我的意思
点赞 评论 收藏
分享
评论
56
311
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务