我们在几个 Rails 应用程序中使用了 memcache。现在我想知道:有没有办法获取存储在 memcache 中的所有对象的列表,包括每个值占用的数据量?
例如:
key | memory(Bytes) | %
-----------------------------------
foo_key | 15013 | 0.3
bar_key | 2201 | 0.05
在文档中找不到任何内容...
谢谢
马特
我们在几个 Rails 应用程序中使用了 memcache。现在我想知道:有没有办法获取存储在 memcache 中的所有对象的列表,包括每个值占用的数据量?
例如:
key | memory(Bytes) | %
-----------------------------------
foo_key | 15013 | 0.3
bar_key | 2201 | 0.05
在文档中找不到任何内容...
谢谢
马特
不,我们无意支持此类功能。
目前,所有 memcached 操作都是 O(1)(包括刷新)。具有为您提供键列表的操作不能满足该约束。它需要在请求期间保持锁定,并在您看到它的那一刻为您提供可能不准确的信息。
这是人们经常要求的那种东西,但没有人提出过这样的用例:a)他们需要它,b)他们以一种对环境无害的方式使用 memcached。
认为 Heisenberg 不确定性原理会遇到临时存储。
不,它是缓存,而不是数据库。如果你必须做这样的事情,你会比 Memcached 更好。
有关更多信息,请参阅常见问题解答
Memcached 从来没有像数据库那样工作,能够查询指定的一组行等。
如果你想要一个基于内存的数据库,你可以使用 MySQL 并创建MEMORY表。它们纯粹在内存中运行,绕过缓慢的基于磁盘的访问,从而为您提供更高的性能。