Django的缓存框架无法在Django-Celery应用程序中运行

时间:2014-06-20 04:12:14

标签: python django caching celery

我正在使用Django + Celery来异步处理数据。 这是我的settings.py:

CACHES = {
'default': {
    'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
    'LOCATION': 'unique-snowflake'
}
}

这是我的Celery任务:

from celery import shared_task
from django.core.cache import cache

@shared_task
def process():
    my_data = cache.get('hello')
    if(my_data == None):
        my_data = 'something'
        cache.set('hello', my_data) 

这很简单。但是,每次调用任务时,cache.get('hello')总是返回None。我没有clu为什么。有人可以帮帮我吗?

我也试过Memcached和这些设置:

> CACHES = {
>     'default': {
>         'BACKEND':
>         'django.core.cache.backends.memcached.MemcachedCache',
>         'LOCATION': '127.0.0.1:11211',
>         'TIMEOUT': 60 * 60 * 60 * 24,
>         'OPTIONS': {
>             'MAX_ENTRIES': 5000,
>         }
>     } }

当然,memcached正在作为守护进程运行。但代码仍然无效...

0 个答案:

没有答案