В мобильном приложении я работаю с apollo-client
для взаимодействия с сервером API GraphQL.
Фактическое решение
Мое реальное решение представлено в следующем виде:
- Данные извлекаются с сервера после запроса, изменения или подписки и представляются на диаграмме как Данные сервера
- Кэш автоматически обновляется данными сервера
- Локальная база данных обновляется данными сервера
- Кэш обновляется Локальными данными , то естьчтение из локальной базы данных.
- В пользовательском интерфейсе отображаются данные кэша .
Альтернативное решение
Некоторые рекомендуют не отключать кэш Apollo, но в нашем приложении данные, используемые в пользовательском интерфейсе, всегда считываются из локальной базы данных, а сервер используется только для получения новых данных. .
Использование первого решенияЭто кажется долгой дорогой, поскольку кэш всегда должен поддерживаться, чтобы просто отражать данные, которые уже присутствуют в локальной базе данных. Так действительно ли необходимо продолжать использовать кеш Apollo?
Было бы проще реализовать такое решение: