У меня есть приложение, которое реализует шаблон объекта команды для получения данных с сервера. Теперь я хотел бы реализовать кэш на стороне клиента, и мне нужно несколько советов о том, как бороться с аннулированием кэша eviction .
Проблема
Чтобы получить объект, я передаю команду GetObject (id) и получаю GetObjectResponse с результатами для этого идентификатора. У меня есть кеш, который может хорошо кэшировать ответ для GetObject (id).
Однако, когда я вижу такую команду, как DeleteObject (id) или UpdateObject (id), кэшированный ответ для GetObject (id) должен быть признан недействительным.
Я должен сказать, что реальность не обязательно такая простая, как с одним параметром id. Некоторые объекты ответа зависят от нескольких параметров в объекте команды. Кроме того, передача одного объекта команды может сделать недействительным более одного объекта ответа.
Есть мысли о том, как этого добиться? Заранее спасибо!