Как мне установить время кеширования для объектов в OSCache с использованием Spring-модулей?
У меня есть приложение, которое нуждается в некотором кешировании, и для некоторых полустатических данных я хочу, чтобы они оставались в кеше максимальное количество времени (например, 10 минут) до обновления. Моя система просто получает данные, но никогда не обновляет их, поэтому я понятия не имею, когда очищать кэш, используя это свойство. В документах OSCache такое время истечения может быть установлено как с помощью программного API, так и с помощью конфигурации taglib, но в документации по Spring-модулям об этом ничего не сказано.
Кто-нибудь знает, если / как это можно сделать?
2 ответа
Я понял. Ответ скрыт в собственном конфигурационном файле ehcache. Если для свойства timeToLiveSeconds установить значение "600", срок действия элемента в кэше истечет через десять минут.
Взгляните на https://springmodules.dev.java.net/docs/reference/0.8/html/cache.html
3.5.2. Модели кэширования, которые они предоставляют в качестве примера с org.springmodules.cache.provider.jcs.JcsCachingModel
попробуйте поиграть с org.springmodules.cache.provider.oscache.OsCacheCachingModel
исходный код с http://www.koders.com/java/fidB7163A5070666F5BD98F43D4324011D1A969ABD3.aspx?s=mcall%3Astring дает мне свойства
частная строка cronExpression;
private String [] группы;
приватное целое число refreshPeriod;
поэтому вам нужно установить свойство "refreshPeriod"