Как удалить соответствующие ключи в 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.
Буду рад вашим советам.