我正在使用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正在作为守护进程运行。但代码仍然无效...