dav*_*sit 6 .net object-lifetime elasticsearch
当我使用ElasticSearch.NET建立与ElasticSearch集群的连接时,我使用的代码块如下:
var uris = settingsProvider.ElasticSearchUri.Split(';').Select(x => new Uri(x));
var sniffingConnectionPool = new SniffingConnectionPool(uris);
var connectionConfiguration =
new ConnectionConfiguration(sniffingConnectionPool)
.SniffOnConnectionFault()
.SniffOnStartup();
var client = new ElasticsearchClient(settings: connectionConfiguration);
Run Code Online (Sandbox Code Playgroud)
难道建议我memoize的/让静态/做一个单包装的ElasticsearchClient,对ConnectionConfiguration,或者SniffingConnectionPool使他们不必每次都让我搜到重建?
我没有在文档中看到任何其他建议,但通常我会谨慎行事并避免使用单例,因为文档也没有对线程安全做出任何承诺。请务必处理掉所有内容IDisposable,如果您担心性能或内存使用情况,请使用分析器来确定您的工作目标。
| 归档时间: |
|
| 查看次数: |
667 次 |
| 最近记录: |