2014-07-10 38 views
1

我最近從Booksleeve遷移到StackExchange.Redis。StackExchange.Redis是否支持MONITOR?

爲了監控目的,我需要使用MONITOR命令。

wiki我讀

從iServer的情況下,服務器的命令可以

但我不能找到IServer有關MONITOR的任何方法;在存儲庫中快速搜索後,即使已定義RedisCommand.MONITOR,看起來該命令也不會映射。

那麼,是否支持StackExchange.Redis的MONITOR命令?

回答

3

監視器支持不提供,出於多種原因:

  • 調用monitor是的不歸路;一個monitor連接永遠是任何除了一個monitor連接 - 它肯定不很好地與多路複用器玩(雖然我猜一個單獨的連接,可以使用)
  • monitor是不是東西,一般是鼓勵 - 它的影響;當你使用它,它會是一個好主意,運行它儘量靠近服務器儘可能(通常在終端服務器本身)
  • 它通常應該用於短的持續時間

但更重要的是,也許,我根本沒有看到一個合適的用戶案例或有一個請求。如果在某種情況下monitor有意義,我很樂意考慮添加某種支持。你想在這裏做什麼?

注意,包退的monitor頁面鏈接到上:

在這種特殊情況下,運行在一臺監視器客戶端可以通過50%以上,降低了吞吐量。運行更多的MONITOR客戶端將進一步降低吞吐量。

+0

這非常貼切。我的用例不是一個很好的理由:我只需要跟蹤在集成測試期間發送到redis DB的所有命令,主要用於故障排除。我當然陷入了StackExchange.Redis無處不在的問題。一個基本的解決方案可能是在redis-cli上使用包裝器。順便說一下,許多監視工具使用該命令來計算命令統計信息。這是我現在可以想象的唯一的產品用例。 – Cybermaxs

+0

@Cyber​​maxs我不知道它是否會對你有所幫助,但SE.Redis的測試平臺包含一個特殊的構建,可以讓你將輸出流回顯到一個文件中 - 這樣你就可以得到一份發送給連接。通常它用於內部調試目的,它需要編譯器符號,但是...它的工作原理! –