Streamlit中st.cache_data缓存的DataFrame是否对所有部署应用用户共享?
Streamlit
st.cache_data() 多用户缓存说明 - 用户2不需要重复执行耗时的数据加载,可以直接使用用户1已经缓存好的
df。 st.cache_data()的缓存是全局共享的,它存储在应用服务器的内存(或你配置的外部缓存存储)里,和单个用户的会话无关。- 只要用户1已经触发过一次数据加载函数,生成的
df就会被缓存下来。之后不管是用户1自己的后续操作,还是用户2访问应用,只要调用的是同一个带st.cache_data()装饰的函数,且函数参数、函数本身没变化,就会直接读取缓存内容,不会重新执行加载逻辑。 - 只有在缓存到期(设置了
ttl参数)、缓存被手动清理,或者函数的输入/代码本身有改动时,才会重新执行数据加载。
内容的提问来源于stack exchange,提问作者Daniel Tan
相关产品推荐
相关产品推荐

