我使用过Ehcache 3,我是Ehcache 3的新手,我有一个缓存管理器,如下所示:
private CacheManager cacheManager;
现在,当创建对象时,cacheManager已初始化:
public ListPlanImpl() {
System.out.println("constructore being initalized");
System.getProperties().setProperty("java -Dnet.sf.ehcache.use.classic.lru", "true");
cacheManager = CacheManagerBuilder
.newCacheManagerBuilder().build();
cacheManager.init();
}
初始化cacheManager后,这是我的主类,所有获取和放入缓存的操作都在这里发生。我已经插入了几个数据到不同的缓存,如:
@Stateless
public class ListPlanImpl implements CachePlan,ListPlan {
private static final String CACHE_OPERATING_PARAMETER = "cache_key_operating_parameter";
private static final String CACHE_SECURITY_PARAMETER = "cache_security";
private static Cache<String, GenericClassForList> operatingParametersCache;
private static Cache<String, GenericClassForList> securitiesTradingParameterCache;
public void putInCache() throws ExecutionException, InterruptedException {
System.out.println("putting in list");
this.operatingParametersCache = cacheManager
.createCache("cacheOfOperatingParameters", CacheConfigurationBuilder
.newCacheConfigurationBuilder(
String.class, GenericClassForList.class,
ResourcePoolsBuilder.heap(1000000000)).withExpiry(Expirations.timeToLiveExpiration(Duration.of(60000,
TimeUnit.SECONDS))));
operatingParametersCache.put(CACHE_OPERATING_PARAMETER, new GenericClassForList(this.operatingParamService.getOperatingParamDTO()));
this.securitiesTradingParameterCache = cacheManager
.createCache("cacheOfSecurityTrading", CacheConfigurationBuilder
.newCacheConfigurationBuilder(
String.class, GenericClassForList.class,
ResourcePoolsBuilder.heap(1000000000)).withExpiry(Expirations.timeToLiveExpiration(Duration.of(60000,
TimeUnit.SECONDS))));
securitiesTradingParameterCache.put(CACHE_SECURITY_PARAMETER, new GenericClassForList(this.securitiesTradingParamsService.getSecuritiesTradingParamDTO()));
}
}
我想要一个单独的函数,它将返回所有缓存的名称和缓存中数据总数的计数,这样我就可以在UI中显示包含数据的缓存。我寻找这个问题,但没有找到解决办法。
缓存
实现迭代
for( Cache.Entry<String, GenericClassForList> entry : operatingParametersCache) {
String key = entry.getKey();
GenericClassForList value = entry.getValue();
//if counting just increasing a counter might be sufficient,
//otherwise use the key and value as needed
}
因为已经有了对缓存的引用,所以只需将该方法应用于每个单独的缓存。
如果你手边没有引用,你可以在缓存使用的别名上保留一些注册表(你提供了别名,这样你就可以使用这些别名从缓存管理器获取缓存)。如果做不到这一点,您可能需要跟踪提供给缓存管理器的别名,例如用委托包装别名。
问题内容: 我是Apache Spark的新手,我创建了几个RDD和DataFrame,并对其进行了缓存,现在我想使用以下命令取消持久化其中的一些 但我不记得他们的名字。我用过,但是输出不包含名称。我还使用浏览器查看了缓存的rdds,但再次没有名称信息。我想念什么吗? 问题答案: @Dikei的答案实际上是正确的,但我相信您正在寻找的是: 现在让我们添加另一个并命名它: 我们注意到它实际上并没有持
问题内容: 我想在这里提出我的问题: 根据获得的少量视图,在具有单独后端服务器的安装上刷新Magento Redis Cache的问题有点过于具体,因此我要提出一个更简单,更通用的问题。 我的问题的详细信息在链接的问题中。但是要点是,如果我尝试从管理区域刷新缓存或刷新magento缓存,它将尝试清除看起来不存在的“zc:ti:403_FPC”之类的内容。相反,它们被命名为“zc:ti:109_FP
我用ReactJS构建了一个渐进式Web应用程序,但遇到了一个问题。我正在使用mockApi获取数据。脱机时,我的应用程序不工作,因为服务人员只缓存静态资产。 如何将HTTP GET调用从mockApi保存到缓存存储?
我读到我可以在缓存更新时驱逐整个缓存,但我想避免类似的事情: 有什么方法可以在缓存的集合中创建/更新/删除值吗?还是将集合中的所有值缓存为单个键?
数据缓存是指将一些 PHP 变量存储到缓存中,使用时再从缓存中取回。 它也是更高级缓存特性的基础,例如查询缓存 和内容缓存。 如下代码是一个典型的数据缓存使用模式。 其中 $cache 指向缓存组件: // 尝试从缓存中取回 $data $data = $cache->get($key); if ($data === false) { // $data 在缓存中没有找到,则重新计算它
setStorageSync 基础库1.3.9开始支持,iOS版本2.1.23,Android版本2.1.38 setStorageSync(string key, any data) ft.setStorage 的同步版本 参数 string key 本地缓存中指定的 key any data 需要存储的内容。只支持原生类型、Date、及能够通过JSON.stringify序列化的对象。 示例代