Как я могу очистить специфицированный c кэш с потоковой передачей? - PullRequest
0 голосов
/ 16 февраля 2020

Я запускаю streamlit скрипт с несколькими кешами.

Когда я использую следующий код, он очищает все кеши:

from streamlit import caching

caching.clear_cache()

Я хотел бы очистить только указанные c кеш. Как я могу это сделать?

1 Ответ

1 голос
/ 11 марта 2020

В настоящее время (это легко) невозможно.

Это необязательное решение, которое может применяться в некоторых случаях:

Вы можете использовать опцию allow_output_mutation:

import streamlit as st

@st.cache(allow_output_mutation=True)
def mutable_cache():
    return some_list

mutable_object = mutable_cache()

if st.button("Clear history cache"):
    mutable_object.clear()

Я написал возвращенный кешированный объект как список, но вы можете использовать и другие типы объектов (тогда вам придется заменить метод clear, который указан c для списков).

Для получения дополнительной информации, пожалуйста, посмотрите ответы, которые я получил на официальном форуме сообщества

...