第一个你是把token放ThreadLocal里了吗。token不会存在ThreadLocal里,因为鉴权token一般每次发送请求的客户端是一样的,但你每一次请求都会分配和上一次请求不一样的线程,你把token存在threadlocal里面就没法验证token了。在一个线程的执行过程里为了不让后面每次拿数据都得访问一次数据库才会鉴权之后把用户信息存在Threadlocal里。 第二个问题没太懂,如果是说Threadlocal数据无法子父线程间共享可以用InheritableThreadLocal或者Transimittablethreadlocal
6 1

相关推荐

01-24 01:39
湖南大学 golang
原项目是黑马程序员的java写的黑马点评,很烂大街的一个项目,我自己和一些网友用go重构了一下,适合27届想走后端的同学入门,学习redis和mysql,难度不高,能够帮助大家对后端开发建立基础认识。我是26届,暑期和秋招期间凭这个拿到了几个大厂offer,也用go面试拿到了java(美团)的offer,字节和腾讯的面试也收到挺多。欢迎小伙伴们来一起学习交流,项目目前已有70+ star,也欢迎贡献代码。可以参考我简历上的写法:小众点评 - 基于Hertz框架的点评网站- 该项目基于 Golang 技术栈,使用 Hertz + hz、Thrift、GORM、Mysql 和 Redis 从零构建了一个点评网站的后端服务,涵盖了好友关注、缓存管理、优惠券秒杀、消息推送和地理位置搜索等核心功能。- 基于 Thrift 定义服务接口,通过 hz 工具自动化生成框架代码。在缓存管理方面,通过 Redis 实现缓存穿透拦截、雪崩预防及击穿保护,提高了查询效率并降低了数据库压力。在秒杀功能实现中,使用了乐观锁和悲观锁来解决秒杀过程中的超卖问题,同时,借助 Redis 的分布式锁机制解决集群环境下的秒杀超卖问题。- 期间为 Hertz 修复了一个单测中的 bug 且合入了上游仓库;项目由个人发起并与几位网友共同完成,目前在 github 获得了70 star,地址:https://github.com/lhpqaq/xzdp-go
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务