我有一个 java 方法来获取基于为每个订单提供的 hashkey 和 sortkey 的订单列表。
将此操作与 DAX 一起使用时,结果集将存储在项目缓存中。这反过来会在运行时增加项目缓存的大小,这是我不希望的。
但我仍然想缓存结果集,所以我正在考虑使用 DAX 查询缓存并坚持如何将这个 batchgetitem 作为 DAX 上的查询操作执行。
public List<Order> getOrders(List<Order> orders){
ReadBatch.Builder<Order> ordersReadBatch = ReadBatch.builder(Order.class);
orders.forEach(ordersReadBatch::addGetItem);
ordersReadBatch.mappedTableResource(orderTable);
BatchGetItemEnhancedRequest batchGetItemEnhancedRequest = BatchGetItemEnhancedRequest.builder()
.addReadBatch(ordersReadBatch.build()).build();
List<Order> results = new ArrayList<>();
enhancedClient.batchGetItem(batchGetItemEnhancedRequest).resultsForTable(orderTable)
.iterator().forEachRemaining(results::add);
return results;
}
可以这样做还是我对缓存解决方案的想法有误。