Django не может персистировать кэшированный массив

Django не может сохранить мои кэшированные данные, даже если я установил тайм-аут на none.

Мой settings.py содержит следующее:

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
        'LOCATION': 'django_cache', #'/var/tmp/django_cache',
        'TIMEOUT': None,
    }
}

Я сохраняю данные с помощью этой строки кода:

cache.set('array', array, timeout=None)

Я получаю данные следующим образом:

array = cache.get('array')
        
try:
     iterator = iter(array)
except TypeError:
     # Array not iterable: my app gets here when cache data is lost
else:
     # I go through the array and get needed info

Я не думаю, что это проблема MAX_ENTRIES, потому что у меня только один массив с 39 элементами.

Когда данные теряются, массив становится не итерируемым (потому что пустым).

Я также попробовал использовать файловый кэш, потому что подозревал, что перезапуск приложения Django может очистить кэш RAM, но возникла та же проблема.

Я попробовал кэширование файлов со следующей конфигурацией в settings.py:

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
        'LOCATION': os.path.join(BASE_DIR, 'filecache'),
        'TIMEOUT': None,
    }
}

Каталог "filecache" создан и содержит непустой файл кэша, но я все еще теряю мой кэшированный массив каким-то образом.

Вернуться на верх