2015-09-09 34 views
0

我正在使用redis-queue gem在redis服務器中實現消息隊列。每個單個消息在消息隊列中經歷lpush和lpop命令。 我能夠使用llen命令獲取當前顯然是Redis列表的隊列長度。Redis列表性能指標

但是有沒有任何一種方法可以得到lpush的總數以及lpop在特定時間跨度內發生的事情,比如過去24小時。 ?

回答

1

看起來好像是you can use Redis keyspace notifications。可以激活Redis以在某些條件下更改密鑰時發佈消息,然後您可以使用常規訂閱此消息Redis pubsub.

+0

感謝Matias,通讀Redis密鑰空間通知,我認爲它會解決問題。因爲我們正在使用舊版本的Redis,所以無法嘗試。 –

1

除了使用密鑰空間通知,正如我所推崇的SO同行Matias所提議的,至少有兩個另外的方式,你可以這樣做:

  1. INFO COMMANDSTATS打印,每個命令,豐富的信息,包括計數器。要重置實例的統計信息,請使用CONFIG RESETSTAT。請注意,這不會提供每個按鍵計數,但每個命令(這可能是足夠好,取決於具體情況)。

  2. 您可以通過MONITOR Redis實例來獲取它所執行的所有命令的流。簡單的過濾可以幫助您獲得任何統計信息,但請注意,使用MONITOR會對性能產生影響。

+0

哈哈哈愛在空氣中! –

+0

謝謝艾塔瑪。我可以使用INFO COMMANDSTATS來生成其他性能指標,這些指標並不是關鍵特定的。 –