Redis-StackExchange.Redis-使用C#驱动程序进行大规模插入时缺少键

Redis-StackExchange.Redis-使用C#驱动程序进行大规模插入时缺少键,redis,asp.net-core-2.0,stackexchange.redis,Redis,Asp.net Core 2.0,Stackexchange.redis,我的当前环境—Windows Server上的.NET Core 2.1、Redis Server/cli 3.2 我目前正在尝试使用.NET core console应用程序中的StackExchange.redis驱动程序将大量密钥插入redis,如下所示: foreach (var item in collection) { var key = item.SomeKey; var value = item.SomeValue; //Tried Both Async

我的当前环境—Windows Server上的.NET Core 2.1、Redis Server/cli 3.2

我目前正在尝试使用.NET core console应用程序中的StackExchange.redis驱动程序将大量密钥插入redis,如下所示:

foreach (var item in collection)
{
    var key = item.SomeKey;
    var value = item.SomeValue;
    //Tried Both Async and Sync
    redisDatabase.StringSetAsync(key, value);
    redisDatabase.StringSet(key, value);
}
每批1000条记录传递给

我的收藏有近285000条记录,因此正在将这些记录插入redis服务器,但完成后,我只能在数据库中看到250000多条记录(在运行INFO redis cli命令之后)

为什么会这样


我确实知道,对于大规模插入,最好使用redis协议,但这是我现在需要的一个临时解决方案

事实证明,redis一次只接受这么多set请求并处理它们。 在我的案例中,解决方案是限制从我的应用程序中激发的set命令的数量


最初,它被设置为每次迭代1000个请求,当它被更改为500个请求时,它将全部插入,而不丢失任何插入。

您的集合中是否有重复的键?这些重复的密钥将被覆盖。