【问题标题】:Prevent varnish caching for a specific widget / plugin?防止特定小部件/插件的清漆缓存?
【发布时间】:2014-08-12 05:57:13
【问题描述】:

我的主页上有一个天气小部件,它使用用户 IP 来显示当前的本地天气。问题是第一个登陆主页的人看到了正确的天气,但所有其他用户看到了第一个用户的天气。

显然主页获得了大量流量,因此无法在页面上关闭缓存。

我需要采取哪些步骤才能不只缓存主页上的那个小部件/插件?由于它是一个可能有一天会出现在其他页面上的小部件,如果整个事情都可以豁免,那就太好了,但我什至不知道如何开始?

作为附加说明,小部件使用 IP 地址作为参数之一向 3rd 方服务发出 api 请求。

提前致谢。

【问题讨论】:

标签: wordpress caching varnish


【解决方案1】:

如果用户的 IP 地址在返回给用户时包含在主页中,您将无法缓存该页面而不会产生副作用。

我的建议是尝试在单独的请求中将该 IP 地址信息获取到小部件。您需要先加载主页,而不包括用户 IP,然后他们从您的 Javascript(您可以使用 Ajax/Websockets 等)发出第二个请求,从服务器获取 IP 地址,更新小部件的 HTML 并制作它显示天气。

工作量更大,具体实现取决于小部件的工作方式。

希望这会让你朝着正确的方向前进 :)

【讨论】:

    猜你喜欢
    • 2014-07-08
    • 2017-02-22
    • 2022-11-28
    • 2013-01-11
    • 2015-07-11
    • 2012-04-03
    • 1970-01-01
    • 1970-01-01
    • 2016-05-25
    相关资源
    最近更新 更多