问题描述
我正在尝试实现一种将缓存内容存储在本地存储上的方法,并在 Varnish 服务因任何原因重新启动时自动加载到 RAM。如果我们有任何办法,请提出建议。
解决方法
将持久缓存存储加载到 Varnish 的唯一方法是使用 Varnish Enterprise 的海量存储引擎。
不幸的是,Varnish 的开源版本无法做到这一点。
有关大容量存储引擎 (MSE) 的详细信息,请参阅 https://docs.varnish-software.com/varnish-cache-plus/features/mse/。
这个想法是将元数据存储在 MSE 提供的特定数据库中。这个概念被称为“书”。
每本“书”都有多个“存储”,它们是包含持久缓存存储的大型预分配文件。
当您同时恢复“书籍”和“商店”时,Varnish Enterprise 将能够从这些文件中重新加载缓存。
如果这些文件包含 GB 或 TB 的数据,MSE 将足够聪明,只将“热”对象加载到内存中。