2013-04-06 3 views
0

저는 레일을 사용하고 AWS로 전송파 플러그를 통해 이미지를 업로드하고 있습니다. 나는 memcached/dalli로 이미지를 캐싱하기 시작했고 조금은 괜찮습니다 ...하지만 모든 이미지는 잠시 후에 깨졌습니다 (대략 20-30 분 또는 다른 브라우저를 사용할 때).memcached localhost/aws with rails

다음은이 이미지 세트를 캐싱하는 예제입니다. 여기서 post.avatar_url은 이미지의 AWS URL입니다. 일반적으로 이미지는 캐싱없이 정상적으로로드되지만 캐싱은 결국 이미지가 손상 될 수 있습니다.

<% 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