2016-08-24 144 views
0

我需要在Redis中缓存幂等请求,并有一定的过期时间。 Hapi网站上的教程主张catbox服务器端响应与Hapi缓存

The tutorial建议使用服务器方法检索数据。我无法理解这种方法的重点。我只需要用相同的URL缓存响应数据。创建一个新的包装函数有什么意义?

另外,我使用Nginx反向代理运行我的服务器。它似乎有响应缓存功能,我应该如何使用它,如果我该怎么办?

谢谢。

回答

1

我会说,如果Nginx可以做些什么,并且你可以弄清楚如何去做,那么就使用Nginx。它往往非常快。但是,在Nginx配置文件中执行任务通常比在JavaScript中执行任务要困难得多。我很难想象你需要消除额外的性能,因为Redis速度也非常快。如果是我,我会用Redbox的Catbox。

如果我理解这个问题,包装函数的要点是处理创建一个密钥来存储和查找缓存的值,并处理到期。

如果你愿意,我觉得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; 
     } 
    } 
}