Как проверить содержимое кеша Django с помощью Python memcached?

Версия для инструментов:

В настоящее время запущен Memcached:

$ ps -ef | grep memcache nobody 2993 1 0 16:46 ? 00:00:00 /usr/bin/memcached -m 64 -p 11211 -u nobody -l 127.0.0.1 

Я использую memcached и python memcached с моим Django proj, и я установил его так, как показано ниже в settings.py :

 CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 'LOCATION': '127.0.0.1:11211', 'TIMEOUT': 86400, }, } 

Я установил кеш в код:

 from django.core.cache import cache cache.set('countries', ['Canada', 'US']) 

Затем я открываю оболочку Django для проверки содержимого кеша:

 >>> from django.core.cache import cache >>> 'countries' in cache True >>> import memcache >>> mc = memcache.Client(['127.0.0.1:11211'], debug=1) >>> mc.get('countries') >>> 

Когда я использую кеш Django, существует ключ countries . Однако, когда я использую memcache Python, я ничего не получаю для стран. Что я делаю неправильно выше?

3 Solutions collect form web for “Как проверить содержимое кеша Django с помощью Python memcached?”

Django префикс кеширует ключи с двоеточием. Вы можете проверить memcached так, если это не поможет.

Вы можете использовать memcached_stats: https://github.com/dlrust/python-memcached-stats

Пример: (я использовал pylibmc для кеша, но я думаю, что это должно быть то же самое, если вы используете python-memcached)

 import pylibmc from memcached_stats import MemcachedStats mem = MemcachedStats() # connecting to localhost at default memcached port # print out all your keys mem.keys() # say for example key[0] is 'countries', then to get the value just do key = mem.keys()[0] value = mc.get (key) 

Существует также интерфейс командной строки для memcaced_stats: python -m memcached_stats

Посмотрите на github repo, поскольку README очень понятен.

Следующий скрипт выгружает все содержимое сервера memcached. Он протестирован с Ubuntu 12.04 и localhost memcached, поэтому ваше перемещение может отличаться.

 #!/usr/bin/env bash echo 'stats items' \ | nc localhost 11211 \ | grep -oe ':[0-9]*:' \ | grep -oe '[0-9]*' \ | sort \ | uniq \ | xargs -L1 -I{} bash -c 'echo "stats cachedump {} 1000" | nc localhost 11211' 

Что он делает, он проходит через все кэш-панели и печатает по 1000 записей каждого из них.

  • Как предотвратить сброс memcache AppEngine
  • Удаление определенных элементов из кеша Django?
  • Лучшее место для очистки кеша при перезапуске сервера django
  • Поддерживать большой словарь в памяти для Django-Python?
  • Проблемы с производительностью memcache App Engine / ndb.get_multi
  • memcache.get возвращает неверный объект (Celery, Django)
  • Как кэшировать вызовы API Django Rest Framework?
  • Хорошие примеры использования python-memcache (memcached) в Python?
  • django_pylibmc жалуется на Django 1.7 и python 3.4
  • Обзор кода Django Memcache: Сравнить и установить
  • Как установить тайм-аут получения Memcached в Django
  •  
    Interesting Posts for Van-Lav

    Поверните ключи словаря в имена переменных с одинаковыми значениями в Python из .mat файлов Matlab, используя scipy.io.loadmat

    Сохраняет ли pandas.Series.unique () заказ?

    Многопроцессорность Python и доступ к базе данных с помощью pyodbc «небезопасны»?

    Использование входного конвейера Tensorflow с помощью skflow / tf learn

    Как удалить элементы списка во время циклического перебора самого списка, не повторяя его

    Что означают разные значения аргумента вида в scipy.interpolate.interp1d?

    Python Get Docstring без перехода в интерактивный режим

    Как написать шаблон посетителя для абстрактного дерева синтаксиса в Python?

    Как передать звездочку в модуль «sh» в python?

    Использование магических команд вне Interactive Shell в IPython

    пользовательские поля _id Django MongoDB MongoEngine

    Интерактивный график в Python?

    RuntimeWarning: компиляция версии 2.6 модуля 'lxml.etree' не соответствует версии исполнения 2.7

    Ошибка: нет жизнеспособной альтернативы при вводе 'for' Python

    Python: Получить список из списка

    Python - лучший язык программирования в мире.