为什么需要调用用户模块的方法来获取用户呢?

为什么需要调用用户模块的方法来获取用户呢?

老师好,我有一个问题,我们之前不是已经把session的信息都写入到redis中了么,为什么不可以从redis中直接获取到session的信息,而是要用Feign调用User模块的方法呢?可不可以直接读取redis而绕过feign呢?

正在回答

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

1回答

同学你好,1、我们之前不是已经把session的信息都写入到redis中了么,为什么不可以从redis中直接获取到session的信息?

    其实同学的意思是想获取Redis中的这个属性吧,这里使用这个方式,其实获取的就是存入Redis中的这个session内容。

    这里同学可以这样理解:

在前面的课程中,我们配置了session的存储是在直接存入 Redis中:

http://img1.sycdn.imooc.com//climg/5f2f92cd097fa6e807790242.jpg

这样配置以后,在SpringCloud中,向session存入的内容就通过SpringCloud存入了Redis里。

http://img1.sycdn.imooc.com//climg/5f2f9351099f8d5311140302.jpg

在读取时,通过SpringCloud中读取到这里存入session中的对象内容。

http://img1.sycdn.imooc.com//climg/5f2f94900904140810800283.jpg

通过如上这个步骤,同学可以这样来理解一下,SpringCloud改变了session的存储方法,使用SpringCloud封装好的方式,将它直接存入到Redis里,对应读取时,也直接通过SpringCloud这样的方式来读取这个内容,简单快捷。

    2、使用Feign可以帮助我们更快捷、优雅地调用HTTP API,来获取数据。

采用Feign进行服务之间的调用,可以简化调用流程。

综上所述,使得Feign可以让我们很优雅地调用其他服务。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 老师,所以是本来可以直接在cart-order模块利用redis存储session,通过getSession得到user,但是为了使用Feign,所以在user模块写一个getUser和在cart-order写一个feign请求拦截器,通过feign把user中得到的session给cart-order模块吗?

    下载视频          
    2021-11-07 21:53:37
  • 同学你好,同学这么理解也可以,不过使用redis可能会需要增加一个服务器,是一般情况下并不会使用该方式,而是通过Feign进行实现。

    祝学习愉快!

    2021-11-08 09:54:08
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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