Как удалить соответствующие ключи в Redis после удаления RedisMap?

Честно говоря не знаю как правильно это сформулировать грамотно данную проблему.

Я храню данные в Map`e, которая в свою очередь хранит их в Redis. Реализую RedisMap

public class MyRedisMap implements Map<String, String>

Передо мной стоит задача. Очищать все ключи в Redis, когда Java удаляет объект RedisMap. Т.е. удалить все ключи связанные с этой RedisMap.

Я вижу несколько вариантов решений.

1) Писать какой-то костыль ( я не знаю как он должен выглядеть) для постоянной проверки актуальности этих данных

2) реализовать метод Finalize(), но говорят это не лучшее решение.

3) Ставить ключам "время жизни" и каждый раз, когда оно истекает если RedisMap жива, добавлять их заного.

Все решения мне кажется не правильными. Возможно я не так понял задание, которое выглядит следующим образом.

Реализовать RedisMap таким образом, чтобы любой код, принимающий Map, продолжил бы работать (функционально) так же при передаче в него RedisMap.

Удалением объектов в Java занимается сборщик мусора. Необходимо придумать способ автоматической очистки Redis при удалении объекта RedisMap в Java.

Буду рад вашим советам.


Ответы (0 шт):