Автоматическое истечение срока действия объектов из Hashmap - PullRequest
1 голос
/ 14 декабря 2011

У меня есть статическая хэш-карта, которую я использую для кэширования объектов в ней.Объекты бывают разных типов, включая списки и хэш-карты.

Я хочу сделать объекты из кэша недействительными через определенный промежуток времени.Я мог бы добавить метку времени к моим объектам и сделать их недействительными вручную.Но я не знаю, есть ли способ найти временную метку, когда список был добавлен в хэш-карту.

Есть комментарии или предложения?

Ответы [ 2 ]

2 голосов
/ 14 декабря 2011

У всех объектов, которые вы храните в своем Hashmap, реализован один Expirable интерфейс:

public interface Expirable {

    public Date getExpiryDate();
}

После этого вы легко сможете перебирать каждый элемент в вашем Hashmap и удалять те, которые устарели.

1 голос
/ 29 марта 2012

Интерфейс Guava com.google.common.cache.Cache может быть доступен как карта, вызвав Cache.asMap().

См. Документацию CacheBuilder, в частности метод expireAfterWrite().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...