已删除,因为没有答案就足够了。
答案 0 :(得分:0)
我想你想要AbstractCacheStore.eraseAll(Collection colKeys)
如果要实现读/写缓存,则必须扩展
com.tangosol.net.cache.AbstractCacheStore
(或实现接口com.tangosol.net.cache.CacheStore
),这会添加以下方法:public void erase(Object oKey); public void eraseAll(Collection colKeys); public void store(Object oKey, Object oValue); public void storeAll(Map mapEntries);
方法
erase()
应从外部数据源中删除指定的密钥。方法store()
应该更新数据源中的指定项(如果它存在),或者如果它当前不存在则插入它。实施
CacheLoader
/CacheStore
后,可以通过一致性cache-config.xml
文件进行连接。
答案 1 :(得分:0)
根据this文档,这是您需要的正确 C#界面:
AbstractCacheStore.EraseAll方法:
从底层商店中删除指定的密钥(如果存在)。
命名空间:
Tangosol.Net.Cache程序集:Coherence(在Coherence.dll中) 版本:12.1.2.0(12.1.2.0)折叠imageSyntax
public void EraseAll(ICollection键)
此方法的实现为每个键调用 Erase(Object) 提供的ICollection。成功擦除后,将删除一个键 来自ICollection(如果可能的话)。注意:对于许多类型的持久性 存储器,单个擦除操作与批量擦除一样昂贵 操作;因此,子类应该覆盖此方法if 可能的。
通过在每个值上调用Erase
,即使是删除整个集合的底层API也会这样做。虽然,Oracle Coherence是一个内存缓存,但它实际上并没有通过线路超过10,000次来擦除密钥,而是在内存中访问它。
答案 2 :(得分:0)
cache.InvokeAll(filter, new ConditionalRemove(AlwaysFilter.INSTANCE));
或
cache.InvokeAll(colKeys, new ConditionalRemove(AlwaysFilter.INSTANCE));