Java 如何使用ehcache重新加载数据?

Java 如何使用ehcache重新加载数据?,java,jakarta-ee,ehcache,Java,Jakarta Ee,Ehcache,我有一个包含100个项目(字符串)的列表,我想将其放入ehcache。我将设置它们在1小时后过期。之后,我想读取数据库并刷新缓存 我还没有找到一个如何做到这一点的例子 有人知道吗 谢谢这里是CacheConfiguration中设置缓存中元素的活动时间的方法 ) 它在缓存的构造函数中具有相应的参数 这些是particaluar缓存中元素的默认值-也可以为精确元素指定 ) 下面是使用它的一个小示例: import java.util.concurrent.TimeUnit; import ne

我有一个包含100个项目(字符串)的列表,我想将其放入ehcache。我将设置它们在1小时后过期。之后,我想读取数据库并刷新缓存

我还没有找到一个如何做到这一点的例子

有人知道吗


谢谢

这里是CacheConfiguration中设置缓存中元素的活动时间的方法 )

它在缓存的构造函数中具有相应的参数

这些是particaluar缓存中元素的默认值-也可以为精确元素指定 )

下面是使用它的一个小示例:

import java.util.concurrent.TimeUnit;

import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element;

public class EhCacheFixedExpirationTest {
public static void main(String[] args) {
    CacheManager cacheManager = new CacheManager();
    Cache testCache = new Cache("testCache", 100, false, false, 10, 10);
    cacheManager.addCache(testCache);

    Element element = new Element("1", "20");
    element.setTimeToLive(1);
    testCache.put(element);

    long start = System.nanoTime();

    while (testCache.get("1") != null) {
        //wait
    }
    System.out.println(TimeUnit.MILLISECONDS.convert((System.nanoTime() - start), TimeUnit.NANOSECONDS));
}
}
输出几乎总是1000,因此精度相当高。使用的是Ehcache 2.4.6

注意,您还可以结合使用来满足您的需求