导入
Streamlit 缓存
学习如何让应用程序更加高效。
提升应用效率
Streamlit 提供了 @st.cache 装饰器,帮助我们提升应用的运行效率。该装饰器使应用能够缓存计算所需的数据,从而避免重复执行耗时操作。只有满足以下三种情况之一时,缓存才会失效,需要重新计算:
- 函数的输入参数发生变化。
- 函数体本身发生改变。
- 函数内部的其他函数发生变化。
使用方法是在定义函数之前添加该装饰器。下面的代码展示了使用 @st.cache 装饰器带来的优势:
运行示例
让我们运行下方的应用程序,观察使用 @st.cache 提升效率的实际效果:
No configuration found for ID: 5c4b14f792f8e8e4849b105a41180d955d8d6d2c17aa411591372fea805b5c43
首次执行上述代码时,两个函数的运行时间基本相同。但当重新加载应用页面后,我们会发现被缓存的函数执行时间显著缩短。
因此,@st.cache 装饰器能够有效提升应用效率,为用户提供更流畅的体验。