逐出 EhCache 中的所有元素

Evict all element in EhCache

我将 EhCache 与 spring 一起使用,需要公开一个端点,该端点将逐出给定 EhCache 中的所有元素。但我找不到任何驱逐所有元素的方法。这是微不足道的,可能已经讨论过了,但我在互联网上找不到任何资源。请指点

您在使用 Spring 缓存吗?然后 将 allEntries 设置为 true 属性

@Cacheable("myCache")
public String getCache() {
    try {
        Thread.sleep(3000);
    } catch (final InterruptedException e) {
    }
    return "aaa";
}

@CacheEvict(cacheNames = "myCache", allEntries = true)
public void evictAll() {
}

或者如果您想删除您定义的所有缓存

@Autowired
CacheManager cacheManager;

public void evictAll() {
    cacheManager.getCacheNames()
            .stream()
            .forEach(n -> cacheManager.getCache(n).clear());
}