После того, как мои пользователи входят в систему, приложение делает слишком много запросов к DynamoDB, и я думаю о различных способах уменьшить количество вызовов.
Приложение позволяет пользователю запускать определенные оповещения, которые отправляются другим пользователям. Например: «Отгрузка получена, приходите на палубу», «Отгрузка завершена» и т. д.
Это сделанные звонки:
- Получить срок действия лицензии на программное обеспечение компании.
- Получите местоположение компьютера в здании (например, «Офис A»).
- Получите типы предупреждений, которые могут быть вызваны (например, «Отгрузка получена, приходите на палубу», «Отгрузка завершена» и т. Д.).
- Получите информацию о пользователе (например, о командах компании, к которым принадлежит пользователь, и уровне администратора, который имеет пользователь (который может быть 0, 1, 2 или 3).
Возможные решения, которые у меня есть, хотя о:
Укажите дату истечения срока действия лицензии компании в качестве атрибута каждого компьютера (это уменьшит количество запросов на 1). Однако, если мне нужно обновить дату истечения срока действия лицензии компании, мне нужно обновить ее для КАЖДОГО ОДНОГО компьютера, который у меня есть в системе, что кажется мне непрактичным, поскольку у меня может быть 200, 300 или, возможно, даже больше компьютеров в базе данных.
Добавьте дату истечения лицензии компании в качестве атрибута оповещений (это уменьшит количество запросов на 1); что кажется более разумным, потому что существует всего около 15 различных видов предупреждений, поэтому, если мне нужно будет позже изменить дату истечения срока действия лицензии, это не так уж плохо.
Кэшировать информацию на устройстве пользователя; тем не менее, я не могу найти хорошую стратегию для сохранения информации, хранящейся локально, как можно более обновленной.
Я все еще думаю, что эти 3 варианта звучат не слишком хорошо, поэтому я надеюсь, что кто-то может указать мне правильное направление. Есть ли хороший способ уменьшить количество звонков? Я получаю информацию о 4 разных объектах (лицензия, компьютер, оповещение, пользователь), должен ли я оставить эти 4 вызова после входа пользователей?