Ну отмечу для начала:
There are 2 hard problems in computer science: cache invalidation, naming things, and off-by-1 errors.
Инвалидация кэша крайне зависит от бизнес-логики системы: курс валюты протухает крайне быстро (при этом в выходные/праздники остается неизменным на несколько дней), тогда как система, которая отдает государственные праздники, может хранить считай целый год.
Не зная твоих данных и их особенностей сложно что-то предлагать
Что касается общеизвестных методов, то они легко гуглятся. Вот, к примеру,
https://www.designgurus.io/blog/cache-invalidation-strategies
Единственное, я бы в твоем конкретно кейсе делал запрос с некоторой регулярностью (если это позволительно и данные не зависят от многих параметров) к бэку в отдельном треде, а не только когда данные понадобятся. Это сгладит длительность запроса для пользователя. В противном случае будет "то густо, то пусто".