2013-03-29 1 views
3

Я пытаюсь использовать django-cache-machine для кэширования запросов в моем приложении, но я хочу использовать Redis в качестве бэкэнд. The docs на самом деле не объясняют, как это сделать, но the repository заполнен ссылками Redis, поэтому я уверен, что это возможно. Я хочу, чтобы убедиться, что я все сделаю правильно, так что мне интересно, есть ли у кого-нибудь опыт настройки этого и, возможно, более важно, знает, есть ли какие-либо оговорки?django-cache-machine и Redis

ответ

-1

У меня есть небольшой опыт в моем проекте, система отчетов, которая генерирует таблицы из примерно 50 миллионов записей.

База данных Mysql и я могу показать свои настройки и модели FYI.

настройки:

# cache machine 
CACHES = { 
    'default': { 
     'BACKEND': 'caching.backends.memcached.MemcachedCache', 
     'LOCATION': [ 
      '127.0.0.1:11211', 
     ], 
     'PREFIX': 'report:', 
    }, 
} 
CACHE_COUNT_TIMEOUT = 60 * 24 # one day 
CACHE_EMPTY_QUERYSETS = True 

модели:

class App(**CachingMixin**, models.Model): 
    **objects = CachingManager()** 

    name = models.CharField(max_length=64, 
          default='') 

Обратите внимание, что кэш-машина работает отлично query_set. фильтр и кол-во, не подходит для query_set. аннотация или агрегат. Конечно, не забудьте сначала запустить клиент memcache.

И при запуске вы можете просматривать журналы кеш-машин в своем файле django * .log, чтобы сообщить вам, что вы попали в кэш.

3

В настройках установлено:

CACHE_MACHINE_USE_REDIS = True

REDIS_BACKEND = Redis: //127.0.0.1: 6379 socket_timeout = 0,1

https://github.com/jbalogh/django-cache-machine/blob/master/caching/invalidation.py#L187 https://github.com/jbalogh/django-cache-machine/blob/master/caching/invalidation.py#L213

+1

Пожалуйста, обратите внимание, что при установке? CACHE_MACHINE_USE_REDIS = True, django-cache-machine фактически не использует Redis для кэширования ваших объектов модели, поэтому вам все еще нужна конфигурация memcached. Он использует Redis только для хранения и управления списками flush. –

 Смежные вопросы

  • Нет связанных вопросов^_^