【问题标题】:Two sets of cache with one server (Varnish Cache)一台服务器两套缓存(Varnish Cache)
【发布时间】:2018-09-20 08:46:16
【问题描述】:

是否可以使用两个独立的缓存存储设置 Varnish Cache?

然后基于 http 自定义标头使用 cache1 或 cache2。

例如:

  • 请求 1 带有标头 (store=Cache1) 这应该转到 Cache1 存储在 Varnish 缓存中
  • 请求 2 的传入与请求 1 完全相同,但带有标头 (store=Cache2),这应该转到 Varnish 缓存上的 Cache2 存储

当后端根据标头(但使用相同的 url)以不同的主体响应时会出现此用例 - 一个合法的用例。

【问题讨论】:

    标签: reverse-proxy varnish varnish-vcl


    【解决方案1】:

    您可以完全按照分区 Varnish 缓存的描述处理这个问题,类似于 putting Varnish static files cache separately

    但你想要的实际上要简单得多。您的特殊情况应该通过调整 VCL 轻松解决。你只需要告诉 Varnish 缓存应该根据那个特定的头部而不同。因此,在您的 VCL 中,您将指定:

    sub vcl_hash {
        if (req.http.store) {
            hash_data(req.http.store);
        }
    }
    

    vcl_hash 指定缓存应该根据store HTTP 标头的值而有所不同。

    【讨论】:

    • 天哪,这完全符合我的设想!谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-11
    • 2012-12-22
    • 2017-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多