2009-10-26 160 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并创建表格。它们纯粹在内存中运行,绕过缓慢的基于磁盘的访问来提供更高的性能。