【问题标题】:how to set no cache for all site only for certain hours and no cache always for a specific page如何仅在特定时间为所有站点设置不缓存,并且始终为特定页面设置不缓存
【发布时间】:2020-09-09 09:38:27
【问题描述】:

我有一个网站,其中一些页面的内容最好在某些时间进行缓存,以便更快地在网站本身内来回导航,但是这些页面必须在某些其他时间绝对不缓存,当关键时数据更新到位。为了让事情更复杂一点,我需要一些页面永远不会被缓存,因为它们的内容会不断更新。

必须绝对避免任何通常刷新页面或类似的解决方案。

但是,再一次让这一切变得更复杂一点,以防特定页面在某个小时之前的某个时间加载,并且同时更改了数据(我可以检查时间或检查数据库,我想用 js/jquery 动作来做),然后我想强制刷新那个页面。

当然,在任何 js/jquery 活动的情况下都需要安全最佳实践。

那么在 php 和 js/jquery 中,我怎样才能获得正确的缓存管理来满足上述需求?

【问题讨论】:

    标签: javascript php jquery caching


    【解决方案1】:

    首先,浏览器可以自动缓存静态资源(css/js/img/...)。

    其次,我认为你所说的“缓存”是指你在服务器上配置缓存。如果是这样,我不建议你配置它,因为PHP需要动态运行,如果你在服务器上打开缓存,您可能无法正确获得 PHP 呈现的页面。

    就是这样。

    我建议你可以使用CDN来加速你的静态文件,例如CSS-File,JS-File,some img。个人网站有很多免费的 CDN。

    【讨论】:

    • 对不起,但这不是答案。是的,当然 php 可以动态运行,但是有些页面需要特别注意。在某些时间,他们会提供即时生成的 imgs 以获取持续更新的数据,因此这些 imgs 不能被chached。但是在其他时间,这些 imgs 所基于的数据不会更新,因此在那些时间里,那些 imgs 最好被缓存。而且,如果您阅读了我的帖子,我还会在其他情况下寻找细粒度的微调。所有这些都无法通过粗暴的 CDN 缓存来完成。没有静态文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-07
    • 2013-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多