用于SQS的AWS Java SDK的大多数操作都需要队列URL。
给出队列名称,可以使用GetQueueUrl
操作查询队列URL。
AmazonSQS
客户端会自动缓存此操作的结果吗,还是由应用程序来缓存队列URL,以避免重复查询?
答案 0 :(得分:1)
如果我们查看AWS Java SDK code on GitHub,就会发现getQueueUrl()
触发了通常的客户端准备挂钩(似乎不包括缓存),然后立即跳转到executeGetQueueUrl()
发出请求,也无需缓存。有趣的是,似乎有一个URI cachedEndpoint = null;
似乎没有在任何地方使用(也许我遗漏了什么?)。
退后一步,这很有意义。在SDK上自动缓存响应可能会对使用它的应用程序造成危险,因此是否缓存的决定将留给它所属的应用程序逻辑。因此,如果您需要缓存响应,则由您决定要缓存多长时间以及在何处/如何存储它。