2016-08-24 145 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; 
     } 
    } 
}