Я ищу кэш в памяти со следующим поведением:
- При первом доступе или после инициализации он считывает все данные, которые должны быть кэшированы одновременно.Например, все строки таблицы.
- Через один час полный кэш очищается и все данные считываются снова.
- Кэш может быть очищен по требованию.
Я знаю, как реализовать такой кеш, но кто-нибудь знает существующую библиотеку, которая обеспечивает кеш вроде этого.
Это моя идея об интерфейсе.Есть элементы для кеша
Element element = new Element(Object key, Object objectToCache);
Загрузчик предоставляет все элементы
Collection<Element> elements = myLoader.getElements();
В конце концов есть кеш
public Cache {
public Cache(CacheLoader loader, int timeToReload) {
...
}
public Object getValueForKey(Object key {
...
}
...
}
Решениебудет иметь кэш с одной записью, которая является HashMap реальных записей.С помощью этого решения я могу использовать существующие кэши, такие как Ehcache или Guava Cache .
Но, тем не менее, я ищу существующий код, прежде чем начать писать собственную библиотеку.