不到 24 小时前,我写了一篇关于如何使用 Cloudflare 缓存加速您的网站的文章。不过,我已经将大部分逻辑转移到使用 Redis 的 Fastify 中间件中。这就是为什么以及你可以自己做的方法。
我遇到了 Cloudflare 缓存的两个问题:
我还遇到了一些其他问题(例如无法使用模式匹配清除缓存),但这些对我的用例来说并不重要。
因此,我决定使用 Redis 将逻辑转移到 Fastify 中间件。
[!注意]
我将 Cloudflare 缓存留给图像缓存。在这种情况下,Cloudflare 缓存有效地充当 CDN。
下面是我使用 Fastify 编写的用于缓存响应的中间件的带注释版本。
注释贯穿了代码,但这里有一些关键点:
我从多个位置运行了延迟测试,并捕获了每个 URL 的最慢响应时间。结果如下:
网址 | 国家 | 原点响应时间 | Cloudflare 缓存响应时间 | 加快缓存响应时间 |
---|---|---|---|---|
https://pilser.com/vitamins/vitamin-b1 | us-west1 | 240毫秒 | 16毫秒 | 40毫秒 |
https://pilser.com/vitamins/vitamin-b1 | 欧洲西部3 | 320毫秒 | 10毫秒 | 110毫秒 |
https://pilser.com/vitamins/vitamin-b1 | 澳大利亚-东南1 | 362 毫秒 | 16毫秒 | 192 毫秒 |
https://pilser.com/supplements/vitamin-b1-3254 | us-west1 | 280毫秒 | 10毫秒 | 38毫秒 |
https://pillser.com/supplements/vitamin-b1-3254 | 欧洲西部3 | 340毫秒 | 12毫秒 | 141ms |
https://pillser.com/supplements/vitamin-b1-3254 | 澳大利亚-东南1 | 362 毫秒 | 14毫秒 | 183ms |
与 Cloudflare 缓存相比,Fastify 缓存速度较慢。这是因为缓存的内容仍然从源提供服务,而 Cloudflare 缓存则从区域边缘位置提供服务。然而,我发现这些响应时间足以实现良好的用户体验。
以上是使用 Fastify 和 Redis 缓存加速您的网站的详细内容。更多信息请关注PHP中文网其他相关文章!