python - Plotly 破折号服务器端缓存

标签 python pandas plotly plotly-dash

我在 dash 中使用服务器端缓存应用程序,我遵循了 documentation 中的示例 4 .我使用它来查询和处理“全局”数据,然后在应用程序中的不同组件之间共享这个准备好的数据集。
这很好用;当我加载或刷新应用程序时加载数据。
但是,当我离开应用程序几分钟并返回时,数据也会重新加载(例如,在不关闭应用程序的情况下访问浏览器中的另一个选项卡)。所以我感到困惑的是这些 session 是如何工作的,以及为什么它们似乎如此迅速地过期。控制这种情况的方法是什么?例如。通过增加允许的空闲时间或在页面加载/刷新时严格更新 session 。

最佳答案

当三件事之一发生时,内存数据会刷新,

  • 输入参数的值更改
  • 缓存已过期
  • 缓存已清除

  • 在您链接的示例中,一个新的 uuid在每次页面加载时生成。这个 id 作为参数传递给 memoized 函数,因此由于 (1) 数据将在页面加载时刷新。
    如果超过预定义的超时时间 (default value is 300 seconds)),数据将按照 (2) 进行刷新。这可能就是为什么您会遇到“当我离开应用程序几分钟然后回来时数据也会重新加载”的原因。您可以通过 CACHE_DEFAULT_TIMEOUT 根据您的需要调整超时。 Cache 的参数对象或通过 timeout memoize 的关键字装饰器。
    此外,如果找不到数据,缓存将被刷新(3)。除了手动删除之外,如果缓存空间不足,也会发生这种情况。默认情况下,500 cache elements are kept .这个数字可以通过 CACHE_THRESHOLD 调整Cache 对象的参数。

    关于python - Plotly 破折号服务器端缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63244511/

    相关文章:

    R绘图极坐标图简单定制

    python - 当最后一位为零 [低] 时将二进制转换为整数时出错

    python - E0401 :Unable to import 'flask'

    python - 请您解释一下这段代码,特别是第 8 行;里面有循环的那个?

    javascript - Python点击事件的Plotly(离线)

    python-3.x - 如何修复 Plotly Dash 中的 'Dropdown Menu Read' 错误

    python - 使用 Pymssql 将具有 Null 值的记录插入 SQL Server 时出错

    python - 根据值拆分数据帧输出

    python - 数据帧的丢弃百分比 [pandas]

    python - 从 URL 读取 ZipFile 到 StringIO 并用 panda.read_csv 解析