2009-10-26 51 views
1

我們在幾個Rails應用程序中使用了memcache。 現在我想知道:有沒有辦法獲得存儲在memcache中的所有對象的列表,包括每個值佔用的數據量?是否有memcache「目錄」?

例如爲:

key  | memory(Bytes) | % 
----------------------------------- 
foo_key | 15013   | 0.3 
bar_key | 2201   | 0.05 

找不到在文檔什麼...

感謝

馬特

回答

5

不,我們沒有支持這樣的功能的意圖。

當前,所有的memcached操作都是O(1)(包括flush)。有一個給你一個鍵列表的操作不能滿足這個約束。這將需要在請求期間持有的鎖,並在您看到該信息時向您提供可能不準確的信息。

這是人們經常要求的東西,但沒有人提出過使用情況:a)他們需要它,b)他們以一種對環境無害的方式使用memcached。

認爲海森堡不確定性主體符合臨時存儲。

+0

謝謝,達斯汀。我們只是很好奇,看看哪些Rails應用程序需要在memcache中使用哪些內存以及如何優化它。當然,應用程序之外的所有內容。感謝您的發佈! – Matt 2009-10-26 08:00:49

+0

特定應用程序的內存在memcached中進出。佔據大部分記憶的應用程序可能會在一天中發生變化。最活躍的人可能會使用比最不活躍的人更多的內存。獲得登錄訪問的軌道非常容易,所以你至少可以感受一下。觀察驅逐統計數據,你會知道它是否重要。 – Dustin 2009-10-26 16:41:13

+0

(並且對拼寫原則錯誤抱歉) – Dustin 2009-10-26 16:42:48

0

不是。它是一個緩存,而不是數據庫。如果你不得不這樣做,你會比Memcached更好。

有關進一步information

0

常見問題的Memcached從未擔任很像一個數據庫,能夠查詢指定的組行和這樣的。

如果你想要一個基於內存的數據庫,你可以使用MySQL並創建表格。它們純粹在內存中運行,繞過緩慢的基於磁盤的訪問來提供更高的性能。

相關問題