通过cmemcache或Django访问memcached统计信息时返回警告

0 投票
1 回答
973 浏览
提问于 2025-04-15 15:41

我的Django应用程序通过cmemcache使用memcached。在我尝试监控它的使用情况时,出现了一个问题:

我试着通过Django和cmemcache访问memcached提供的统计信息:

Django:

from django.core.cache import cache
cache._cache.get_stats()
[WARN@1257320533.841286] mcm_server_stats():3027: unknown stat variable: pointer_size

cmemcache:

import cmemcache
client=cmemcache.Client(['127.0.0.1:62656',])
client.get_stats()
[WARN@1257321135.126632] mcm_server_stats():3027: unknown stat variable: pointer_size

我得到的只是一个警告,什么有用的信息都没有。不过,memcached本身可以正常提供统计信息:

telnet 127.0.0.1 62656
stats
...

cmemcache的网页上提到“libmemcache-1.4.0.rc2与memcached 1.2.1不兼容,这导致get_stats返回没有统计信息”。我的应用运行在Debian上,memcached的版本是1.2.2。我不知道是否还有不兼容的问题。

有没有人遇到过这个问题并找到了解决办法?

1 个回答

1

首先,你不应该使用那些版本的memcached。它们有很多已知的错误,而且已经很多年没有更新了。

其次,我们经常会给memcached添加新的统计信息,所以如果这些库在遇到新统计信息时出现问题,你应该去找它们的作者反映情况。

另外,我觉得cmemcache这个库已经不再维护了。它是基于一个已经被淘汰的memcached C库,这个库有几个已知的错误。使用这个库的用户被建议迁移到libmemcached。

撰写回答