Как проверить, работает ли мой redis-кеш?
Я установил django-redis-cache и redis-py. Я следил за документами кэширования для Django. Насколько мне известно, все настройки, которые мне нужны, ниже. Но как я могу сказать, правильно ли он работает?
settings.py
CACHES = {
'default': {
'BACKEND': 'redis_cache.RedisCache',
'LOCATION': '<host>:<port>',
'OPTIONS': {
'DB': mydb,
'PASSWORD': 'mydbspasswd',
'PARSER_CLASS': 'redis.connection.HiredisParser'
},
},
}
...
MIDDLEWARE_CLASSES = (
'django.middleware.cache.UpdateCacheMiddleware',
...[the rest of my middleware]...
'django.middleware.cache.FetchFromCacheMiddleware',
)
CACHE_MIDDLEWARE_ALIAS = 'default'
CACHE_MIDDLEWARE_SECONDS = (60 * 60)
CACHE_MIDDLEWARE_KEY_PREFIX = ''
Ответы
Ответ 1
Не работал с Django, но мой подход по умолчанию для проверки того, действительно ли какой-либо компонент пишет redis во время разработки:
Во-первых, я очищаю все ключи, хранящиеся в redis, чтобы удалить старые записи кэша (никогда не делайте этого в процессе производства, поскольку это удаляет все данные из redis):
> redis-cli FLUSHALL
Затем активируйте кеширование в моем приложении и посмотрите, что делает redis:
> redis-cli MONITOR
Вы должны ввести интерактивный сеанс, в котором вы увидите каждую команду, отправленную redis.
Перезагрузите страницу и на своем терминале вы увидите некоторые операции SET *, в которых хранятся данные кэша.
Перезагрузитесь снова, и если ваш кеш работает, вы должны увидеть некоторые операции GET *, извлекающие кэшированные данные.
Примечание: с помощью этого метода вы можете проверить, действительно ли используется ваш кеш. То, что вы не видите, - это то, что ваш кеш помогает ускорить ваше приложение. Для этого вам нужно выполнить тесты производительности, как это предлагается в комментариях.
Ответ 2
Вы можете установить панель инструментов django-debug и посмотреть, уменьшается ли количество запросов при включении кеширования. Хотя я не думаю, что это лучшее решение поставленного вопроса, я все еще думаю, что вы хотите это сделать, поскольку вы можете легко определить дорогостоящие запросы с помощью этой настройки, а затем добавить к ним соответствующее кэширование.