ReliableDictionary <key,list =“”>

时间:2016-07-18 03:41:38

标签: azure-service-fabric

有没有很好的方法来做一个IReliableDictionary&lt; key,List&gt; ?我想这个列表不会是原子的,会遇到并发问题。有什么好办法吗?我可以想象它对构建索引也很有用。例如,IReliableDictionary&lt; index,List&lt; Guid&gt;&gt;。

1 个答案:

答案 0 :(得分:2)

不仅是并发问题,还有数据损坏和复制性能差,如果您不小心的话。请仔细阅读本指南,了解详细说明:https://azure.microsoft.com/en-us/documentation/articles/service-fabric-work-with-reliable-collections/

tl;博士:

  • 每次提交事务时,都会复制并保存整个列表。如果列表无限增长,则复制时间和成本也会增加。
  • 您的列表最好是不可变的。如果您直接对事务中的列表引用进行本地更改,并且事务中止(例外或某事),则本地更改将回滚。如果您的代码的其他部分具有对列表的引用并在事务之外对列表进行更改,则这些更改将不会被复制并保存。