【问题标题】:Use cache if server not responding?如果服务器没有响应,使用缓存?
【发布时间】:2020-07-03 17:01:39
【问题描述】:

如果服务器没有响应,是否可以(我需要一些资源,因为我找不到任何资源)显示来自缓存的链接?

我想在高流量服务器上使用这样的东西。如果服务器遇到瓶颈或类似情况,我想显示网站/链接的缓存版本。

谢谢。

【问题讨论】:

标签: javascript ajax caching xmlhttprequest service-worker


【解决方案1】:

您可以使用本地存储来存储 JS 和 CSS。但是,本地存储的每个域限制为 5Mb(移动)和 10Mb(桌面)。 当一个浏览器第一次访问该站点时,JS & CSS 被内联。 JS 还有另外两个工作:
1) 将 JS 和 CSS 存储到本地存储
2) 设置您将在下一次(第二次访问)时查看的键/值,另外您应该提供一个版本(用于明显的失效目的)。这将在第二次访问该站点之后以及如果 资产不在 localStorage 中(出于某种原因)

当浏览器第二次访问该站点时,应用程序会读取键/值和版本,如果它适合您知道浏览器 已经有相关的 JS & CSS。所以渲染 HTML 具有内联 JS 来从本地存储读取 JS 和 CSS 并插入到 DOM 树中。 阅读可能的影响:https://www.modpagespeed.com/doc/filter-local-storage-cache
因此,在 css/js 繁重的应用程序上,您可以减少服务器负载。请注意,在当前会话中,大多数处于私有模式的浏览器不支持本地存储

【讨论】:

  • 好的,请标记为已解决,以便其他人也可以找到它。
【解决方案2】:

使用local storage in browser

// Store
localStorage.setItem("lastname", "Smith");
// Retrieve
document.getElementById("result").innerHTML = localStorage.getItem("lastname");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-30
    • 1970-01-01
    • 2014-02-06
    • 2011-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多