【发布时间】:2023-04-04 09:34:01
【问题描述】:
我还用 C++ 和 C# 标记了这个问题,因为项目中的两种语言都受到影响。
情况:
- 上述语言的模块通过
memcached进行通信。他们与memcached一起运行了几个月,没有任何问题。 -
memcached正在另一台服务器上运行。 - 出于性能原因,与
memcached的连接始终保持打开,这意味着一次,当每个模块启动时,它会连接到memcached并重复使用此连接,直到模块停止。李>
现在,运行memcached 的VM 重启的情况非常罕见——我无法控制它。
在这种情况下,我看到模块具有未定义的行为。
我的问题:
有没有办法可以检测到memcached 的实例由于重新启动而变得无效?
在这种情况下,我会再次重新连接。
另一点是:如果这个检查不是一个好主意,我是否应该在每次需要时重新连接,并且那么当memcached 服务器重新启动时,我会避免任何问题。
【问题讨论】: