Попытка вникнуть в лучшие практики при работе с неполными иерархическими кэшированными данными.
Пример:
У меня два кеша
- Кеш на ресурс
{"foo": "bar", "parent", "${Object}"}
- на одного родителя.
[{"foo": "bar", "parent", "${Object}"}, {"foo": "buz", "parent", "${Object}"}]
Когда ресурс удаляется, я хочу убедиться, что он удален из обоих кешей И все его потомки также удалены.
Первоначально казалось, что EventListener может решить эту проблему, однако это может быстро привести в каскад типы событий, если у нас удален корневой элемент (например, ваш диск C: \), и у него миллионы дочерних элементов. Это будет регистрировать событие для каждого дочернего элемента.
Другой подход заключается в использовании тем, но я не уверен, даст ли это аналогичную производительность EventListeners.
Существуют ли какие-либо другие маршруты или способы прослушивания событий кэширования только иногда?