【发布时间】:2015-09-21 07:10:48
【问题描述】:
我需要在 Web 服务中与 Aerospike noSQL DB 建立持久连接。
在非 Web 应用程序中,连接很简单
using (AerospikeClient client = new AerospikeClient("127.0.0.1", 3000))
{
...
}
但在 Web 服务应用程序中,为每个请求创建新客户端的成本很高。最佳实践也这样说:“在程序中每个集群只使用一个客户端实例,并在多个线程之间共享该实例。AerospikeClient 和 AsyncClient 是线程安全的。”
我可以创建一个静态对象,但是如果客户端由于错误或超时(24 小时最长连接生存时间)断开连接怎么办?任何人都可以提供任何容错代码片段吗? (可能类似于redis模式How does ConnectionMultiplexer deal with disconnects?)
【问题讨论】:
标签: c# multithreading aerospike