采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
我的理解是: 我们有一个从数据库中查询会员数据的接口,在最开始的场景中,我们每次都是调用这个接口来获取会员数据。 再加入会员本地变量之后,我们就在查询会员数据的接口中加入下面这个逻辑: 会员数据查询接口:
不知道我的理解对不对。 如果是这样的话我有一个疑惑,那就是线程本地变量中的会员信息该再什么时候清楚。不然随着请求的增多线程本地变量会越来越臃肿
线程本地变量是线程私有,所以一般一个线程本地变量里面只存储了当前线程的会员信息
你这个想法应该是缓存的用法,线程本地变量只在当前线程(一次请求)有效,一般是在前置通知里放入,在后置通知里移除,不移除也没有关系,同一个线程在被多个请求反复使用时,线程本地变量会一直覆盖前面的,一个线程始终只有一个。
如果你的用户信息是要反复使用,多个请求都用同一个用户,应该是使用缓存。
前置通知和后置通知是preHandle和postHandle对把。 那就是在请求到来时在preHandle 里面把用户信息存入本地变量 然后再postHandle里面把本地变量清空 在接口中所有调用用户信息地接口都改为直接从本地变量中获取。 是这样么
是的,我们项目里目前就是这么做的,只是少了最后的清空线程本地变量
回复 甲蛙:有个疑问,为什么要用线程本地变量,直接方法调用的末尾清楚缓存不就行了吗?
登录后可查看更多问答,登录/注册
最新版Spring3.0仿12306售票系统实战
1.0k 28
520 12
560 8
616 8
1.0k 7