3

我无法重新连接到我的 Redis DB 执行以下操作:

  • 创建一个新的RedisConnection名为“连接”
  • 打开连接connection.Open().Wait();
  • 关闭连接connection.Close(true);
  • 现在,当我尝试connection.Open().Wait();抛出错误时,“连接已关闭”。

我知道连接已关闭,但为什么我无法重新打开它?

如果我不关闭连接,而是关闭 Redis 服务器,让客户端引发Closed事件,重新启动服务器,然后尝试connection.Open().Wait();再次打开连接,也会发生同样的情况。抛出“连接已关闭”错误。

我的方法有什么问题?我似乎无法使用 Booksleeve 正确管理连接状态。

谢谢

4

1 回答 1

2

打开和关闭 BookSleeve 连接不是预期的用途。

  • 因为它是一个多路复用器,所以预计它会被打开一次,然后被多个调用者同时使用(它是线程安全的等)
  • 打开涉及各种握手(在网络和协议级别)以确保正确操作 - 最好避免这种情况(这不是非常昂贵,请注意)
  • 一旦关闭,任何持续状态都将不可行;如果你真的想关闭它,你也可以使用一个全新的连接

就我个人而言,只有在运行时重新配置系统或连接中断时,我才会关闭它。

于 2013-04-09T14:43:37.730 回答