20+所高校关注“成渝双城”鲲鹏高校行
|
detail 中有大量的逻辑,除了基本的商品信息,还有很多其他的内容,这就是慢的原因。 并行调用 针对一个接口,如果设计到多个内部 RPC 服务或者多个外部接口,在接口之间没有关联关系的情况下,我们可以采用并行调用的方式来提高性能。 CompletableFuture 就非常适合并行调用的场景,关于 CompletableFuture 的使用本文不做详细说明,做 Java 的都要会用。 除了 CompletableFuture 之外,对于集合类的处理,可以用 parallelStream 来实现并行调用。 在微服务中有一层专门用于聚合 API, 聚合层就非常适合并行调用,一个功能或者一个页面展示会涉及到多个接口,通过聚合层在后端进行接口的聚合和数据的裁剪,一起响应给前端。 上缓存 缓存也是优化中最常用的,效果提升最明显的,成本也不大。对于缓存,也不要滥用,不是所有场景都可以靠堆缓存来提高性能的。 首先对于实时性要求不高的业务场景可以优先使用缓存,也不用太考虑更新的问题,自然过期就行。 实时性要求高的业务场景,用缓存一定要有完整的缓存更新机制,否则很容易造成业务数据和缓存数据不一致的情况。
建议的做法是订阅 binlog 来统一更新缓存,不要在代码中去更新或者失效缓存,简单的场景还好,入口就那几个,问题不大。有些数据在多个场景下使用,需要更新的入口太多了,
即使用古老的计算机处理器,AI重力透镜也能够在20分钟内检查21789张图像。 根据美国宇航局的一份新闻稿:“新发现的开普勒90i是一颗炙热的岩石行星,每14.4天绕其恒星运行一次——这是通过谷歌的机器学习发现的。” 显然,人工智能在天体物理学中的应用提供了“天文”的回报,重新定义了天体科学领域的创新,揭开了宇宙深处最大的一些谜团。布兰特·罗伯逊强调人工智能和天体物理学迎来了有益的集体高潮,他说:“天文学正处于一场新的数据革命的尖端”,没有更合适的总结了。 随着天文学家们开始用人工智能来发现星系,他们不在需要费心费力去探测、分类、解码空间物体,或者寻找新的行星。在21世纪,人工智能超级望远镜可以减少他们的工作。
此外,观星者们也在庆祝,人工智能仪器为他们重新探索超乎想象的世界提供了可能性。埃隆·马斯克会如何评价此事呢? 明明数据已经查询出来了,又根据 ID 重新去查询了一次,数量越多,浪费的时间越多。这里只是举例,我相信在真实的项目中大量存在重复查询的情况,之前我还写过一篇文章,讲解如何解决这种重复查询问题,感兴趣的可以查看这篇文章:简直骚操作,ThreadLocal还能当缓存用 按需查询 很多业务逻辑不复杂的功能,却响应很慢。往往都是写代码的时候没有思考,随便就调用一些已经存在的方法,导致整体响应变慢,总结起来就是:性能问题大部分都是代码写出来的。
说个场景,大家肯定都见到过。参数是一个商品 ID, 功能是上架商品,需要进行状态的判断,符合条件才能上架。这个场景下只需要获取商品的状态进行判断即可,有的时候你看到的代码往往都是下面的方式: (编辑:唐山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


