2013-04-06 56 views
0

我正在使用rails並通過AWS的carrier wave plugin上傳圖像。我開始使用memcached/dalli緩存圖像,並且它可以正常工作,但是之後所有圖像都顯示爲斷開(大約20-30分鐘或使用其他瀏覽器時)。帶軌道的memcached localhost/aws

下面是一個示例...緩存這組圖像,其中post.avatar_url是圖像的AWS網址。圖像通常無需緩存即可正常加載......但緩存似乎最終會導致圖像破碎。

<% cache ["homeimages", post] do %> 
    <%= link_to image_tag(post.avatar_url), post %> 
    <% end %> 

什麼是造成圖像中斷?

謝謝!

回答

0

你上傳他們作爲私人或公共?如果它們是私密的,那麼在20-30分鐘之後他們將不再可以從該URL訪問的原因是圖像上的權限令牌(其將由avatar_url方法提供)將過期,這意味着S3將以404文件未找到。

使圖像變市民,或嘗試喜歡的事,而不是

<% cache(["homeimages", post], :expires_in => 20.minutes) do %> 
    <%= link_to image_tag(post.avatar_url), post %> 
<% end %> 

的20.minutes是什麼都一次訪問令牌最後以下。意味着緩存永遠不會超過令牌。

編輯

而且你意識到你不是「與memecached /達利緩存圖像」,而是img標籤?

+0

謝謝。這是新的。沒有意識到我只是緩存標籤與圖像。 – user749798 2013-04-06 21:40:56