Меня беспокоит вопрос обновления кеша в подклассах при изменении родительского класса.
Рассмотрим DTO ниже: -
public class TDPRD {
public PRD prd;
public Grade gd;
public String name;
public int id;
....// Getters and setters created
}
Иерархия => PRD-> Оценка -> TDPRD
Приведенный выше DTO является ответной JSON-структурой API.Выходные данные API кэшируются с использованием аннотации @Cacheable ("TDPRD").Данные для PRD и Grade получены из разных API (где у них есть собственная кешируемая аннотация).Остальные параметры получены из таблицы.
Теперь, если в PRD произошли изменения, то как API (обеспечивающий вышеуказанный ответ DTO) TDPRD узнает и обновит свой кэш, чтобы получить его последнийсодержание, связанное с PRD в нем.
Есть ли какой-либо другой возможный способ кроме предоставления имени кэша обоих (PRD и TDPRD) кеша для выселения на уровне PRD?Если мы обновляем на любом уровне, все соответствующие элементы должны быть обновлены.Есть ли какая-либо опция для этого?
Причина, потому что, если приложение огромно, и мы не можем пойти с вышеупомянутой идеей добавить кэш подкласса в каждый кэш родительского уровня при исключении, и это может привести к предоставлению неправильных данных, если что-то было пропущено.
Спасибо