Приложение Django использует memcached через cmemcache. Проблема возникла, когда я пытался контролировать его использование:доступ к файлам memcached через cmemcache или django возвращает предупреждение
Я попытался получить доступ к статистике Memcached обеспечивает как через Django и CMemCache:
Джанго:
from django.core.cache import cache
cache._cache.get_stats()
[[email protected]] mcm_server_stats():3027: unknown stat variable: pointer_size
CMemCache:
import cmemcache
client=cmemcache.Client(['127.0.0.1:62656',])
client.get_stats()
[[email protected]] 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. Я понятия не имею, есть ли проблема несовместимости.
Есть ли кто-нибудь, кто столкнулся с этой проблемой и имеет решение?
Спасибо за ответ, я свяжусь с моим хостинг-провайдером, чтобы узнать, могут ли они обновиться. Однако cmemcache, по-видимому, является предпочтительным связыванием Python командой Django: «Самый быстрый доступный вариант - это модуль, называемый cmemcache (http://docs.djangoproject.com/en/dev/topics/cache/). Поддержка cmemcache новый для Django, начиная с Django 1.0. – shanyu
Не знаете, как настроен ваш хостинг-провайдер, но если они не могут изменить его для вас. Вы можете попробовать использовать пакет python-memcached Pure Python, разместив его в своем приложении. Django действительно поддерживает его, но не знает его порядка импорта по CMemcached или другим клиентским пакетам memcached. – NerdyNick
@NerdyNick: Спасибо, я буду помнить, используя python-memcached. Но прежде всего, я попытаюсь установить более новая версия memcached. – shanyu