【问题标题】:Server-side response caching with Hapi使用 Hapi 进行服务器端响应缓存
【发布时间】:2016-12-30 23:05:42
【问题描述】:
我需要在 Redis 中缓存具有一定过期时间的幂等请求。 Hapi 网站上的教程偏爱catbox。
The tutorial 建议使用服务器方法来检索数据。我无法理解这种方法的意义。我只需要使用相同的 URL 缓存响应数据。创建一个新的包装函数有什么意义?
另外,我正在使用 Nginx 反向代理运行我的服务器。它似乎有响应缓存功能,我应该使用它,如果我应该怎么用?
谢谢。
【问题讨论】:
标签:
node.js
caching
nginx
hapijs
【解决方案1】:
我想说,如果 Nginx 可以做某事,并且您可以弄清楚如何做,那么请使用 Nginx。它往往非常快。但是,在 Nginx 配置文件中执行任务通常比在 JavaScript 中更难。我很难想象你需要获得额外的性能,因为 Redis 也非常快。如果是我,我会将 Catbox 与 Redis 一起使用。
如果我理解这个问题,包装函数的重点是处理创建一个键来存储和查找缓存值,并处理过期。
如果你愿意,我认为this 是一个配置文件,说明如何使用 Nginx 进行操作:
http {
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=STATIC:10m
inactive=24h max_size=1g;
server {
location / {
proxy_pass http://1.2.3.4;
proxy_set_header Host $host;
proxy_cache STATIC;
proxy_cache_valid 200 1d;
proxy_cache_use_stale error timeout invalid_header updating
http_500 http_502 http_503 http_504;
}
}
}