如何将 Varnish 缓存内容存储在本地存储上?并在 Varnish 服务重新启动后加载到 RAM

问题描述

我正在尝试实现一种将缓存内容存储在本地存储上的方法,并在 Varnish 服务因任何原因重新启动时自动加载到 RAM。如果我们有任何办法,请提出建议。

解决方法

将持久缓存存储加载到 Varnish 的唯一方法是使用 Varnish Enterprise 的海量存储引擎

不幸的是,Varnish 的开源版本无法做到这一点。

有关大容量存储引擎 (MSE) 的详细信息,请参阅 https://docs.varnish-software.com/varnish-cache-plus/features/mse/

这个想法是将元数据存储在 MSE 提供的特定数据库中。这个概念被称为“书”。

每本“书”都有多个“存储”,它们是包含持久缓存存储的大型预分配文件。

当您同时恢复“书籍”和“商店”时,Varnish Enterprise 将能够从这些文件中重新加载缓存。

如果这些文件包含 GB 或 TB 的数据,MSE 将足够聪明,只将“热”对象加载到内存中。