У меня есть приложение Da sh, которое принимает несколько файлов CSV и создает объединенный фрейм данных для анализа и визуализации. Обычно это вычисление занимает около 30-35 секунд для наборов данных размером 600-650 МБ. Я использую кеш файловой системы Flask для однократного хранения этого фрейма данных, и каждый раз, когда я запрашиваю данные, они поступают из кеша.
Я использовал код из примера Da sh здесь
У меня здесь две проблемы:
Кажется, поскольку кеш находится в файловой системе, это занимает в два раза больше времени (почти 70 секунд ), чтобы получить Dataframe, с первой попытки, а затем он быстро приходит из последующих запросов. Могу ли я использовать любой другой тип кэша, чтобы избежать этих накладных расходов?
Я попытался автоматически очистить мой кеш, установив CACHE_THRESHOLD
(например, я установил его на 1), но это не так. работает, и я вижу, что файлы добавляются в каталог.
Пример кода:
app = dash.Dash(__name__)
cache = Cache(app.server, config={
'CACHE_TYPE' : 'filesystem',
'CACHE_DIR' : 'my-cache-directory',
'CACHE_THRESHOLD': 1
})
app.layout = app_layout
@cache.memoize()
def getDataFrame():
df = createLargeDataFrame()
return df
@app.callback(...) # Callback that uses DataFrame
def useDataFrame():
df = getDataFrame()
# Using Dataframe here
return value
Может ли кто-нибудь помочь мне с этим? Спасибо.