黑马点评threadlocal

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

相关推荐

近期刷到不少牛油想要转产品岗位,认为这个岗位看起来非常光鲜亮丽。这里分享一些苯人真实工作体验及观察,这些方面可能会让特定性格的朋友感到不适:1️⃣ 必须站出来推动他人:对F人的折磨PM是项目核心节点,但没有直接管理权。要按时交付,必须不断推动研发、测试、业务等各方。😭老板要求紧急上线,你得反复催促各方排查问题、解决问题,即使加班加点。😖 需求被质疑,作为新人,必须硬着头皮去追问、请教(哪怕是push mentor),避免自己成为瓶颈。这会让一个F的人非常痛苦,害怕显得咄咄逼人、不近人情,担心同事反感。但项目压力下,常常别无选择。2️⃣ 沟通成本高:逻辑常输给立场和权力各方目标、立场不同(研发重技术、业务重短期收益),想法冲突是常态。需要大量沟通(甚至争论)。💬  你有理有据,对方可能因你资历浅、需求不影响他KPI、或单纯不想配合而拒绝。逻辑常打不过现实因素。😅 花大量时间反复沟通,效果有限。有时搬出老板比你的“小作文”更管用。这可能对理想主义者有些幻灭,期望用逻辑和事实解决问题,却发现权力、利益和立场才是关键。3️⃣ 多线程&碎片化:专注力杀手PM工作极其琐碎和并行。需求评审、处理Bug、解答问题、跨部门协调、写文档、汇报...消息轰炸不停。💻 消息永远回不完:刚入职时嫌别人不回消息,很快自己也会变成“失联人口”。🧠难以专注:*随时被新任务打断。对习惯灵活(P人)的人更难,列待办清单也常被淹没。⬇️ 专注力下降:长期处理碎片信息,导致难以深度思考。甚至休息时也无法完全放松(比如一边听东西一边刷工作群)。✍️小结:了解这些真实挑战,有助于各位牛油判断自己是否适合或如何准备。如果看完觉得难以接受,或许能提前避坑;如果觉得能应对,那欢迎加入真实的PM战场!
用微笑面对困难:是这样的,最开始我也以为我是去打杂的
我对___祛魅了
点赞 评论 收藏
分享
评论
55
304
分享

创作者周榜

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