Logo
Section 1 / 5

Streamlit 缓存

学习如何让应用程序更加高效。

导入

Streamlit 缓存

学习如何让应用程序更加高效。

提升应用效率

Streamlit 提供了 @st.cache 装饰器,帮助我们提升应用的运行效率。该装饰器使应用能够缓存计算所需的数据,从而避免重复执行耗时操作。只有满足以下三种情况之一时,缓存才会失效,需要重新计算:

  • 函数的输入参数发生变化。
  • 函数体本身发生改变。
  • 函数内部的其他函数发生变化。

使用方法是在定义函数之前添加该装饰器。下面的代码展示了使用 @st.cache 装饰器带来的优势:

运行示例

让我们运行下方的应用程序,观察使用 @st.cache 提升效率的实际效果:

No configuration found for ID: 5c4b14f792f8e8e4849b105a41180d955d8d6d2c17aa411591372fea805b5c43

首次执行上述代码时,两个函数的运行时间基本相同。但当重新加载应用页面后,我们会发现被缓存的函数执行时间显著缩短。

因此,@st.cache 装饰器能够有效提升应用效率,为用户提供更流畅的体验。

使用 Streamlit 修改数据

Streamlit 占位符