首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HazelCast .NET -动态清除地图

HazelCast .NET -动态清除地图
EN

Stack Overflow用户
提问于 2019-09-10 06:27:18
回答 1查看 184关注 0票数 0

我正在创建几个地图来为我的应用程序缓存一些信息。当一些事件被触发时,我想清除这些缓存。我有一个应该清除的所有地图名称的列表,但我找不到一种动态获取这些地图的方法来清除它们。基本上我有:

代码语言:javascript
复制
var mapsNames = ["map-1", "map-2", "map-3"];

我想要一种简单的方式来做这些事情:

代码语言:javascript
复制
var client = HazelcastClient.NewHazelcastClient();
foreach (var name in mapsNames)
{
    var map = client.GetMap(name);
    map.Clear();
}

README.md中,我们有一些这样的示例:

代码语言:javascript
复制
var client = HazelcastClient.NewHazelcastClient();

var personnelMap = client.GetMap("personnelMap");
personnelMap.Put("Alice", "IT");
personnelMap.Put("Bob", "IT");
personnelMap.Put("Clark", "IT");
Console.WriteLine("Added IT personnel. Logging all known personnel");
foreach(var entry in personnelMap.entrySet())
{
    Console.WriteLine("{0} is in {1} department", entry.Key, entry.Value );
}
client.Shutdown();

这表明我们应该有一个非泛型的方法GetMap,但是我找不到它。唯一可用的是GetMap<TKey, TValue>。文档是不是错了?有没有一种方法可以在不使用任何丑陋的反射的情况下按名称获取Map?

提前谢谢你,

EN

回答 1

Stack Overflow用户

发布于 2019-09-11 19:22:12

你有没有试过(ICollection<IDistributedObject> GetDistributedObjects()) https://github.com/hazelcast/hazelcast-csharp-client/blob/v3.12.1/Hazelcast.Net/Hazelcast.Client/HazelcastClient.cs#L230

您可以遍历所有现有的地图,并且可以使用https://github.com/hazelcast/hazelcast-csharp-client/blob/v3.12.1/Hazelcast.Net/Hazelcast.Core/IDistributedObject.cs#L53检查分布式对象是否属于地图服务类型。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57861896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档