gpt4 book ai didi

android - Web 服务器最佳实践

转载 作者:搜寻专家 更新时间:2023-11-01 08:43:53 24 4
gpt4 key购买 nike

我需要有关设计决策的建议。我正在创建一个电子商务应用程序,并且有很多项目(> 10000)要在我的应用程序中显示。现在这里有 2 个选项1)从服务器获取所有项目信息并保存在本地数据库中并每次同步信息(假设15分钟)2) 每次从web服务器获取信息(通过rest api)。

这两种方法各有利弊。使用本地数据库我可以获得快速的结果和更少的服务器带宽,但必须处理同步使用第二种方法,我将向服务器发出大量服务器请求并在服务器上释放和加载。

我还想知道 amazon 和 flipkart 等其他应用程序如何处理此问题。它们是保存在本地数据库中还是每次都请求服务器。

最佳答案

您应该寻找的是本地和远程之间的混合设计。

就数据类型而言,有两种主要类型:

  • blob'二进制大对象',例如:图像、视频......
  • 和小数据(通常是项目的 json/xml 表示)。

亚马逊和其他网络应用程序每次加载时都会提供新数据,同时保留数据的本地副本以防应用程序离线,或者有时甚至在等待后端时在下一次加载时使用该数据.

另一方面,这些应用程序为大数据维护缓存级别,这样它们就不必多次加载它。

但实现这一点的关键是拥有一个非常快速的后端,该后端包含许多可以提高其速度的功能,包括:

  • 允许用户与周围最近的服务器通信的云前端。
  • memcached 或任何其他缓存技术,可以将有关项目的信息保存在服务器的 RAM 中,而无需查询数据库即可获取它们。

通常发生的情况是,后端通过每次特定时间查询数据库或每次数据库发生插入/删除/更新时推送到缓存来确保其数据始终加载到 ram/缓存中。

Here is how Twitter is doing it

最后一点您的应用程序与网页交互的时间不应超过网页, native 应用程序需要比网络应用程序更长的时间才能允许用户与其交互,这是 Not Acceptable 。

关于android - Web 服务器最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30236249/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com