小编nil*_*n59的帖子

当充满乐趣的时间到期时做点什么[infinispan]

介绍

这是关于infinispan缓存,但我认为这是一个通用的问题.

在我的infinispan缓存中,我使用putIfAbsent方法将项目输入缓存,并使用remove方法删除它们.(jboss doc here)

基本行为

我可以将项目放入缓存中,并使用id从缓存中删除项目.但是,如果我没有明确删除缓存项,infinispan将在指定的生命周期传递后自动删除它.

在我的删除方法中,我删除之前运行一些自定义代码.但是当我没有调用remove方法时,由于提供的生命周期到期,infinispan会删除缓存条目.

在自动删除方案中,我无法运行自定义代码,因为它发生在引擎盖下.(通过infinispan).那可能的方法是什么?以下代码将更有希望地解释这一点.

我相信我很清楚.请给我一些见解.谢谢.

void putToCache(String id){
   myCache.putIfAbsent(id,value,LIFESPAN_DURATION,timeUnit);
}

void removeFromCache(String id){
  //MY CUSTOM CODE - WANT TO RUN THIS IN LIFE SPAN DURATION EXPIRY ALSO
   myCache.remove(id);
}
Run Code Online (Sandbox Code Playgroud)

java jboss caching infinispan

3
推荐指数
1
解决办法
234
查看次数

标签 统计

caching ×1

infinispan ×1

java ×1

jboss ×1