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" создан и содержит непустой файл кэша, но я все еще теряю мой кэшированный массив каким-то образом.