我没有直接回复你的问题。恕我直言,根据我的理解,当您在不同的群集/节点上存储数据时,仍然会有网络呼叫,尽管您有一些密钥格式,以便数据存储在同一个群集/节点中。
根据我的经验,您可以轻松设置一个MemoryCache作为System.Runtime.Caching的一部分,将数据存储在每个节点中,然后使用Redis Pub-Sub或Azure Service总线作为pub-sub的后台。
在这种情况下,
通过ServiceBus / Redis消息(通常是密钥)将在高速缓存中更新的任何数据通知给应用程序的所有其他实例。
收到密钥后,每个应用程序清除其内部缓存,然后将数据缓存回下一次数据库访问。
这种方法在多租户应用中更常见,并且还具有故障安全性和重量轻的特点。有效载荷/网络传输较少,每个AppDomain都有其内部存储器用作缓存,通过不同的实例支持不同的区域 MemoryCache 。
MemoryCache
如果没有关于的直接回复,希望这会有所帮助 HazelCast
HazelCast
另外,你可以参考这个 链接 有关Hazelcast的一些细节