1

适用于 SQS 的 AWS Java 开发工具包的大多数操作都需要队列 URL。

给定队列名称,可以使用GetQueueUrl操作查询队列 url。

AmazonSQS客户端自动缓存此操作的结果,还是由应用程序缓存队列 url 以避免重复查询?

4

1 回答 1

2

如果我们查看GitHub 上的 AWS Java SDK 代码,我们会看到它getQueueUrl()触发了通常的客户端准备钩子(它似乎不包括缓存),然后立即跳转到executeGetQueueUrl()发出请求的请求,也没有缓存。有趣的是,似乎确实有一个URI cachedEndpoint = null;似乎没有在任何地方使用(也许我遗漏了一些东西?)。

退后一步,这是有道理的。在 SDK 上自动缓存响应对使用它的应用程序来说可能是危险的,因此缓存或不缓存的决定留给它所属的应用程序逻辑。因此,如果您需要缓存响应,则由您决定要缓存多长时间以及在何处/如何存储它。

于 2018-10-02T02:13:35.713 回答