问题描述
我正在尝试在 Azure 上的 redisearch 客户端中插入 50K 数据以获取单个索引。我们正在使用 .Net 核心平台和 "NRediSearch" Version="2.2.3" 、StackExchange.Redis Version="2.2.4" nugets。插入这些记录需要很多时间(大约 40 分钟)。即使在插入前 10K 条记录时,它也会抛出超时异常。 预计 redisearch 将在至少 2 分钟内插入此类文档。
一些细节:
互联网连接非常好(82 Mbps)
redisearch 客户端完全是空的,因此有足够的内存并且没有使用额外的连接。我们正在使用的连接字符串:
var config = ConfigurationOptions.Parse("[redisclient with port],password=[password]");
config.AbortOnConnectFail = false;
config.AsyncTimeout = 3000000;
config.SyncTimeout = 3000000;
config.ResolveDns = false;
config.ConnectTimeout = 30000000;
config.Ssl = true;
config.AllowAdmin = true;
config.KeepAlive = 30000000;
我们尝试了什么:
我们也尝试过 Lazy 和仅 ConnectionMultiplexer。 我们尝试使用 _client.AddDocument(docId,dictRedis,score) 一次添加单个文档 并且还通过使用 _client.AddDocuments(batch); 一次对 500 条记录进行批处理。 (在这里使用异步不是解决方案,因为我们必须监控插入整个数据所需的确切时间。)
我们的要求:
有没有一种方法可以通过在 .Net 核心中使用 nrediredisearch 和 stackexchange.redis 来减少 redisearch 所花费的插入时间??
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)