Кэширующий вызов Dynamodb getTable()

У меня есть несколько вариантов использования, из-за которых я не могу использовать DynamoDBMapper. Вместо этого я использую DynamoDB V2 Document API.

Всякий раз, когда мой API получает запрос, мне нужно получить экземпляр класса "Table". Поэтому я вызываю DynamoDB.getTable("TABLE_NAME");

Однако стоит ли этот вызов дорого? Будет ли больше смысла, если при запуске я сохраню карту всех экземпляров таблицы в памяти и буду ссылаться на экземпляр из карты вместо вызова из DynmaoDB.getTable() API?

У меня также есть аналогичный запрос относительно вызова API table.getIndex().

Пожалуйста, предложите.

Спасибо хариш

1 ответ

Решение

Согласно документации - DynamoDB # getTable:

Возвращает указанную таблицу DynamoDB. Нет сетевого вызова.

Этот метод будет только строить Table Например, думаю, что это фабричный метод. Поскольку код не является открытым исходным кодом, я не могу сказать наверняка, но я предполагаю, что они также имеют внутренний слой кэша, аналогичный тому, что вы предлагаете.

Так что я не буду беспокоиться о том, чтобы вести словарь (который, кстати, вы должны сделать поточно-ориентированным) для такого вызова.

Другие вопросы по тегам