暂时或几分钟缓存变量

时间:2013-05-13 05:58:02

标签: java database caching

如何在Java中暂时或几分钟缓存变量?

我需要暂时使用一个变量几分钟,因为点击数据库总是会对性能造成巨大影响。

问题是我有一个db配置值,可以由用户更改。无需重新启动服务器即可捕获此类更改。

因此找到一个关于如何在Java中暂时或几分钟缓存变量的选项。因此,在5或10分钟的间隔后,我们可以不断清除缓存。

2 个答案:

答案 0 :(得分:0)

大多数Cache Framework都能够配置缓存的实时时间。

例如,如果您使用EHCache,配置将如下所示: 请注意,300指的是5分钟

<cache name="testCache1"
 eternal="false"
 timeToLiveSeconds="300"
 overflowToDisk="true"
 diskPersistent="true"
 diskExpiryThreadIntervalSeconds="300"
 maxEntriesLocalDisk="10000"
/>

如果用户更改了配置,并且系统能够检测到它,您也可以使缓存无效。

CacheManager manager = CacheManager.getInstance();
cache = manager.getCache(cacheName);
cache.remove(key);

or 

cache.removeAll();

答案 1 :(得分:0)

来自JCF的东西。

LinkedHashMap和自定义removeEldestEntry

警告只是在puts上调用该方法。

相关问题