Как автоматически обновлять кеш с помощью Google Guava?

Я использую библиотеку Google Guava для кэширования. Для автоматического обновления кеша мы можем сделать следующее:

cache = CacheBuilder.newBuilder()               
                   .refreshAfterWrite(15, TimeUnit.MINUTES)
                   .maximumSize(100)
                   .build(....);

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

Есть ли способ обновить его автоматически, даже если не было запросов на данные кеша? Например, каждые 15 минут данные кеша должны извлекаться из базы данных и загружаться, независимо от того, вызывал ли кто-нибудь данные кеша или нет.

Кроме того, срок действия кеша Guava указан для всего кеша. Возможно ли истечение срока действия значений кэша на основе ключа? Например, данные кэша с ключом «НЕ _ТАК _ЧАСТОТА _ИЗМЕНЕНИЕ _ДАННЫЕ» истекают через каждый час, а данные с ключом «ЧАСТОТА _ИЗМЕНЕНИЕ _ДАННЫЕ» должны истечь за каждые 15 минут?

30
задан Sean Patrick Floyd 18 July 2012 в 20:14
поделиться