2017-07-04 24 views
0

我正在使用舊版本的grails。 grails版本是2.2.0。我在當前的應用程序設置中看到的一個問題是,日誌充斥着從索引頁獲取圖像的請求。如果我點擊刷新,那麼所有的圖像被重新請求。圖像的日誌記錄如下所示如何緩存經常提供服務的圖片?

27.34.20.149 - - [03/Jul/2017:22:50:20 -0600] "GET /uploads/logos/thumbnails/f6dfNSxvksQkrB83_thumb.jpg HTTP/1.1" 404 1599 
27.34.20.149 - - [03/Jul/2017:22:50:20 -0600] "GET /uploads/logos/thumbnails/I7w4dlwL1ejngl24_thumb.jpg HTTP/1.1" 404 1599 
27.34.20.149 - - [03/Jul/2017:22:50:20 -0600] "GET /uploads/logos/thumbnails/eZhBkSt2BQK9fHES_thumb.jpg HTTP/1.1" 404 1599 
27.34.20.149 - - [03/Jul/2017:22:50:20 -0600] "GET /uploads/logos/thumbnails/Wa7tHggCCmf95GH7_thumb.jpg HTTP/1.1" 404 1599 
27.34.20.149 - - [03/Jul/2017:22:50:20 -0600] "GET /uploads/logos/thumbnails/3rCuZaRedGvhJGx9_thumb.jpg HTTP/1.1" 404 1599 
27.34.20.149 - - [03/Jul/2017:22:50:20 -0600] "GET /uploads/logos/thumbnails/23i2HLxd1XbA0Bvd_thumb.jpg HTTP/1.1" 404 1599 
27.34.20.149 - - [03/Jul/2017:22:50:20 -0600] "GET /uploads/logos/thumbnails/lbsBuqo1Imny2Ggl_thumb.jpg HTTP/1.1" 404 1599 
27.34.20.149 - - [03/Jul/2017:22:50:20 -0600] "GET /uploads/logos/thumbnails/xtTZU9vrIHzct8sN_thumb.jpg HTTP/1.1" 404 1599 
27.34.20.149 - - [03/Jul/2017:22:50:20 -0600] "GET /uploads/logos/thumbnails/rbUZx7D59tP67pfs_thumb.jpg HTTP/1.1" 404 1599 
27.34.20.149 - - [03/Jul/2017:22:50:20 -0600] "GET /uploads/logos/thumbnails/7s47yiB3BmAnzMNX_thumb.jpg HTTP/1.1" 404 1599 
27.34.20.149 - - [03/Jul/2017:22:50:20 -0600] "GET /uploads/logos/thumbnails/4TvirWFiuhdpWz7I_thumb.jpg HTTP/1.1" 404 1599 
27.34.20.149 - - [03/Jul/2017:22:50:20 -0600] "GET /uploads/logos/thumbnails/oSBR4E5jH2m8iFiZ_thumb.jpg HTTP/1.1" 404 1599 
27.34.20.149 - - [03/Jul/2017:22:50:21 -0600] "GET /uploads/logos/thumbnails/UGAVMxFQsotu2XNK_thumb.jpg HTTP/1.1" 404 1599 
27.34.20.149 - - [03/Jul/2017:22:50:21 -0600] "GET 

這些是應用程序的索引頁中的圖像,並且這些圖像不會經常更改。我想知道手動解決方案來緩存這些圖像,以便在每次刷新頁面時,不會從應用程序重新請求所有這些圖像。我感謝任何幫助!謝謝!

+1

可能會使用https://grails.org/plugin/cached-resources –

回答

1

緩存資源插件對於Grails 2來說非常棒(首先提及Mike W)!

如果您打算在未來任何時候升級到2.4或3,那麼您可能會更好地服務於資產管道:http://www.asset-pipeline.com/manual/#grails2http://plugins.grails.org/plugin/grails/asset-pipeline,但現在可能對您更有幫助。

然而,就像你站了起來一樣,注意你所包含的日誌中的所有行都是404的,而每個行的URL都是不同的。在許多環境中,錯誤頁面不會被緩存(這當然取決於您的設置,但這樣做通常會避免誤報),並且只要您每次請求不同的資源(通過URL),緩存都不會幫助!

+0

謝謝,但鏈接是指向索引頁中徽標的鏈接,它們不會經常更改。所以看起來像我現在最好的選擇是緩存資源插件呢?我即將升級應用程序到3,所以你建議首先升級,而不是現在包括這個插件?謝謝! – kofhearts

+0

如果你現在在使用Grails 2,那麼緩存資源對你來說肯定會更容易。如果你確定這些鏈接正在工作,那麼這應該適合你,但是你上傳的日誌文件顯示了很多HTTP 404響應代碼。我會在瀏覽器中手動嘗試其中的一種鏈接,以確保您沒有生成過多的請求。您也可以使用瀏覽器的網絡控制檯(無論是FF還是Chrome,不知道IE瀏覽器)查看所有請求及其響應。我討厭你去加入緩存資源的麻煩,然後發現這不是問題! – Daniel

+0

好的,我清楚地看到你的評論錯了。你說你很快升級到Grails 3。是的,我會先升級。這是一個相當複雜的升級,無論如何這需要進行很多更改,這可能首先解決此問題。 – Daniel