gpt4 book ai didi

caching - REST 资源设计 : Embedding related data VS linking to it?

转载 作者:行者123 更新时间:2023-12-01 05:41:50 26 4
gpt4 key购买 nike

我有一个包含文章和作者资源的 REST 系统。通常,在访问文章时,我还想知道作者的姓名。我可以通过以下几种方式制作文章来实现这一点:A) 将作者姓名的副本直接嵌入到文章中;或 B) 在文章中包含指向适当作者资源的 URI。

将作者姓名直接复制到文章资源中显然有一个缺点。通过将信息复制到多个资源中,我对资源之间的冲突持开放态度。在作者更新其姓名后,文章资源可以使用其旧名称,而作者资源将使用新名称。

也许如果我不缓存文章,这将不是问题?但作为一个实际问题,速度和减少返回服务器的次数是非常可取的,所以在浏览器中缓存是我追求的目标。

在场景 B 中,使用 URI 进行链接似乎是正确的,并且对缓存更加友好。但这会使对服务器的调用次数增加一倍:每篇文章都需要对作者进行第二次(串行)提取。因此,从另一方面来说,这是昂贵的,尤其是当我们谈论多个其他资源的多个 URI 时。一次显示 50 篇文章时,这会变得很疯狂。

我想听听其他人是如何解决这个问题的。有没有值得一读的“最佳实践”文章?

最佳答案

linking ... doubles the number of calls back to the server: every Article requires a second (serial) fetch of an Author.



REST 包含缓存约束正是出于这个原因,如果数据已经位于本地缓存中,则根本不必进行“第二次获取”(或者可以是仅使用部分网络资源的请求,如果缓存是中介或服务器端)。如果您的数据可以设计为利用这一点,您就可以将网络总流量减少几个数量级。如果不能,那么应用 REST 架构风格就没有意义了,这取决于网络效率的缓存——选择不同的风格,比如 RPC。

关于caching - REST 资源设计 : Embedding related data VS linking to it?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5047321/

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