我们在几个Rails应用程序中使用了memcache。 现在我想知道:有没有办法获得存储在memcache中的所有对象的列表,包括每个值占用的数据量?是否有memcache“目录”?
例如为:
key | memory(Bytes) | %
-----------------------------------
foo_key | 15013 | 0.3
bar_key | 2201 | 0.05
找不到在文档什么...
感谢
马特
我们在几个Rails应用程序中使用了memcache。 现在我想知道:有没有办法获得存储在memcache中的所有对象的列表,包括每个值占用的数据量?是否有memcache“目录”?
例如为:
key | memory(Bytes) | %
-----------------------------------
foo_key | 15013 | 0.3
bar_key | 2201 | 0.05
找不到在文档什么...
感谢
马特
不,我们没有支持这样的功能的意图。
当前,所有的memcached操作都是O(1)(包括flush)。有一个给你一个键列表的操作不能满足这个约束。这将需要在请求期间持有的锁,并在您看到该信息时向您提供可能不准确的信息。
这是人们经常要求的东西,但没有人提出过使用情况:a)他们需要它,b)他们以一种对环境无害的方式使用memcached。
认为海森堡不确定性主体符合临时存储。
不是。它是一个缓存,而不是数据库。如果你不得不这样做,你会比Memcached更好。
有关进一步information
常见问题的Memcached从未担任很像一个数据库,能够查询指定的组行和这样的。
如果你想要一个基于内存的数据库,你可以使用MySQL并创建表格。它们纯粹在内存中运行,绕过缓慢的基于磁盘的访问来提供更高的性能。
谢谢,达斯汀。我们只是很好奇,看看哪些Rails应用程序需要在memcache中使用哪些内存以及如何优化它。当然,应用程序之外的所有内容。感谢您的发布! – Matt 2009-10-26 08:00:49
特定应用程序的内存在memcached中进出。占据大部分记忆的应用程序可能会在一天中发生变化。最活跃的人可能会使用比最不活跃的人更多的内存。获得登录访问的轨道非常容易,所以你至少可以感受一下。观察驱逐统计数据,你会知道它是否重要。 – Dustin 2009-10-26 16:41:13
(并且对拼写原则错误抱歉) – Dustin 2009-10-26 16:42:48