Kav*_*ian 2 c# asynchronous insert nosql ravendb
我将大量数据插入RavenDB数据库; 大约2 500
000条记录.这需要在尽可能短的时间内完成.
我使用一个列表来保存SaveChangesAsync返回的Task对象:
session.Store(loc);
splitter++;
if (splitter % 2048 == 0)
{
var t = session.SaveChangesAsync();
tasks.Add(t);
if (tasks.Count == 2)
{
Task.WaitAll(tasks.ToArray());
tasks.Clear();
}
}
Run Code Online (Sandbox Code Playgroud)
此代码在具有i7(8核)和12 GB RAM的机器上运行.如果我持有的Task对象的数量是2(如您在代码中看到的那样),但是如果我将此数字增加到8(核心数),则会收到System.IndexOutOfRangeException(有时会出现System.AggregateException: Raven.Abstractions.Exceptions.ConcurrencyException:PUT尝试使用非当前的etag文档'X/I'.
这里有什么问题?
谢谢
归档时间: |
|
查看次数: |
1674 次 |
最近记录: |