我运行streamlit
带有一些缓存的脚本。
当我使用以下代码时,它会清除所有缓存:
from streamlit import caching
caching.clear_cache()
我只想清除特定的缓存。我怎样才能做到这一点?
这目前(很容易)不可行。
这是可应用于某些情况的可选解决方案:
您可以使用以下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 社区论坛中获得的答案