0

我运行streamlit带有一些缓存的脚本。

当我使用以下代码时,它会清除所有缓存:

from streamlit import caching

caching.clear_cache()

我只想清除特定的缓存。我怎样才能做到这一点?

4

1 回答 1

2

这目前(很容易)不可行。

这是可应用于某些情况的可选解决方案:

您可以使用以下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特定于列表的方法)。

有关更多信息,请查看我在 streamlit 社区论坛中获得的答案

于 2020-03-11T05:32:35.570 回答