有没有办法加快 Steam API 更新?

Is there a way to speed up Steam API update?

我正在使用 Steam Web API 并且需要检查特定用户和游戏的成就列表是否已更新(当用户获得成就时)。我正在使用 api.ISteamUserStats.GetUserStatsForGame.

问题是,即使我反复查询,列表也会在大约一分钟的延迟后才更新为新数据,从而导致我的应用无法使用。

关于如何减少这种延迟的任何想法或对不同方法的建议?

虽然您的问题在评论中得到了一定程度的回答,但这里有更多信息:

在这种情况下,几乎不可能加快对不受您控制的服务器的 REST API 调用。你可以找到一些建议 in this SO answer.

此答案适用于 Steam API:

  1. 尽可能少调用(就像在 post 中一样)。有一些简单的方法可以在 Steam API 中堆叠请求,例如一次请求大量信息(即使用 ISteamUser/GetPlayerSummaries/v0002/?key=SteamAPIKey&steamids=YourSteamIDs 一次为多个用户收集信息并使用此数据而不是新查询)

  2. 让通话尽可能简单。 (即,如果您只需要一个事实 - 例如检查一款游戏 - 仅为此构建一个查询,而不是询问所有游戏然后检查...)

  3. 考虑 缓存数据 - 至少对于某些用户或数据来说可以 "recycled" 并且每隔几天/几个月更新一次。 (再次受到其他线程的启发)

  4. 不要一次调用所有内容(如果可能的话)。它 可以 更快地加载段或仅加载您想要显示的信息 - 现在。如果您在脚本的开头调用每个查询,这可能会更慢。 BUT:记住#1,做一个大查询比做多个小查询更有效。这完全取决于查询。在一次查询中加载好友列表效率更高,但先加载重要数据然后再加载次要数据效率更高。

此外 - 显然 - 检查您是否有足够的处理能力、一些 ram 和良好的连接。 举个例子:我让托管服务器进行查询,稍后再将结果传递给我。