想确认下我理解的是否正确

想确认下我理解的是否正确

  1. 在用户模块中,用户登陆之后将用户的信息保存到session(redis)中,此时,如果不在feign中携带session,因为网关会过滤请求,所以此时,只有网关模块会获取到用户的session信息,其他模块包括用户模块自身,都是无法获取到这个session的,老师我理解的对吗?

  2. redis中存储的信息,key是sessionID,value是user信息?

  3. 如果以上理解正确的话,这种想法是否可行?购物车模块自己通过RequestInterceptor获取到网关session信息,然后去redis中获取到user信息,而不通过User模块。也就是编写RequestInterceptor实现类后直接在请求参数中加上HttpSession 获取session。

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,

1、你的理解是正确的。

2、redis中存储的信息,key是imooc_mall_user,value是User信息。

如下:

http://img1.sycdn.imooc.com//climg/6076cba809e207d807170466.jpg

http://img1.sycdn.imooc.com//climg/6076cba309d5c5bb05850145.jpg

3、同学可以自己编写实现类,在请求参数上添加HttpSession试试。

祝学习愉快~

  • TristanSoon 提问者 #1

    谢谢老师,好想问下,针对回答2:

    如果key是固定的imooc_mall_user的话,那不是只能保存一个用户的信息?如何处理不同请求的的不同User呢?

    猜测是每个session对应redis中一条数据?数据中存的map,key是这个map中的key?不知道对不对?


    2021-04-14 19:28:49
  • 好帮手慕阿慧 回复 提问者 TristanSoon #2

    同学你好,key不是固定的。我们使用hash存储用户登录信息。

    两个用户登录数据,例如:

    http://img1.sycdn.imooc.com//climg/6077a791096f67e814380224.jpg

    http://img1.sycdn.imooc.com//climg/6077a7b609d5999814240195.jpg

    可以多个用户登录,不会冲突的。同学目前会用就可以了。

    祝学习愉快~

    2021-04-15 10:41:24
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师