Я новичок в библиотеке Google Guava и интересуюсь пакетом Guava Caching. Сейчас у меня скачана версия 10.0.1. После просмотра документации JUnit тестирует исходный код, и даже после тщательного поиска в Google я все еще не могу понять, как использовать пакет Caching. Документация очень короткая, как если бы она была написана для кого-то, кто использовал библиотеку Guava, а не для новичка вроде меня. Я просто хочу, чтобы было больше реальных примеров того, как правильно использовать пакет Caching.
Допустим, я хочу создать кэш из 10 элементов с истекшим сроком действия с помощью метода вытеснения наименее недавно использованных (LRU). Итак, из примера, найденного в api, я создаю свой код следующим образом:
Cache<String, String> mycache = CacheBuilder.newBuilder()
.maximumSize(10)
.build(
new CacheLoader<String, String>() {
public String load(String key) throws Exception {
return something; // ?????
}
});
Поскольку требуется CacheLoader, я должен включить его в метод сборки CacheBuilder. Но я не знаю, как вернуть правильное значение из mycache.
Чтобы добавить элемент в mycache, я использую следующий код:
mycache.asMap().put("key123", "value123");
Чтобы получить элемент из mycache, я использую этот метод:
mycache.get("key123")
Метод get всегда будет возвращать то значение, которое я возвращал из метода загрузки CacheLoader вместо получения значение из mycache. Не мог бы кто-нибудь сказать мне, что я пропустил?