我在我的项目中使用缓存机制的@Cacheable
注释,com.jcabi.aspects
并且我有一个场景,我需要从缓存中刷新特定数据而不是刷新整个缓存。这怎么可能?
例如,
import com.jcabi.aspects.Cacheable;
public class Employees {
@Cacheable(lifetime = 1, unit = TimeUnit.HOURS)
static int size(Organization org) {
// calculate their amount in MySQL
}
@Cacheable.FlushBefore
static void add(Employee employee, Organization org) {
// add a new one to MySQL
}
}
如果我有一个由两个组织 Org1 和 Org2 使用的员工类,现在如果将新员工添加到 Org1,那么只有 Org1 的数据应该从缓存中刷新,而 Org2 的数据应该保留在缓存中。
com.jcabi.aspects.Cacheable @Cacheable 的参考:http ://www.yegor256.com/2014/08/03/cacheable-java-annotation.html