柚子的碎碎念:在看历史代码时,发现了一处代码使用固定接口将微服务查询的结果,保存到内存,使用时调用,下面来让我们分析一下吧。
提示:以下是本篇文章正文内容,下面案例可供参考
一、这种方式不合适的原因
1.不能保持查询的数据是最新的
(1)内存上的数据只能在本应用使用
(2)查内存数据的接口不能调用到保证更新最新数据
(3)内存的数据一直不释放,占用内存
2.空间上和数据上
(1)空间上:公共方法是否被多次调用,如果被多次调用,就可以把微服务查询的结果传入方法里,这样可以保证每次都是最新的数据,并且可以减少内存使用。
(2)数据上:数据结果是否被多次使用,如果所需的结果需要多次循环,那就将微服务调用的结果先查出来再循环。如果只是单条数据的查询,那就调用只查询一条的微服务接口。
二、优化方案
想改调用内存的共同方法,要判断这个方法的被调用之处,还要寻找这个内存的被调用之处。分别判断它们是否被循环调用,因而来设计优化方案。
(1)在一次调用的公共方法,因为想根据param1找到param2,因此换一种更简单的微服务方法,然后进行数据处理。
(2)调用内存的一次调用方法,在这里调用微服务,获得集合,再进行匹配(就不调用内存了)。
╭◜◝ ͡ ◜◝╮
( ˃̶͈◡˂ ̶͈ )感觉有用的话,欢迎点赞评论呀!
╰◟◞ ͜ ◟◞╯