2009-06-26 4 views
0

"블로그"스타일 게시물이있는 레일에 방문 페이지가 있습니다. 사이트에서 가장 많이 방문한 페이지이므로 액션 캐싱을 사용하고 있습니다. 모델 변경시 캐시가 지워집니다.작업 캐싱 및 대기열에있는 게시물

그러나 새 블로그 게시물을 추가 할 때 --future-- (Tumblr의 대기열에있는 게시물)에 게시물을 만들 수 있기를 바랍니다.

따라서 단순히 모델을 관찰하면 캐시를 지우지 않아도됩니다.

주기적으로 (30 분 간격으로) 실행하는 것 이외에 캐시를 올바르게 지우는 더 좋은 방법이 있습니까?

답변

0

만료 캐시를 사용할 수 있습니다. 캐시 백엔드가 Memcached 인 경우이 기능은 기본적으로 지원됩니다. 그렇지 않으면 정의 된 시간 후에 캐시를 만료시키는 값을 포함하는 캐시 키를 작성해야합니다.

다른 방법을 사용할 수도 있습니다. publised_at < Time.now (현재의 동작이이 경우에 해당한다고 가정) 레코드를 게시하는 대신 cron을 실행하고 상태 데이터베이스 필드를 업데이트 할 수 있습니다. 이 방법으로 업데이트하면 스위퍼가 작동하고 캐시가 지워집니다.

실제로 첫 번째 해결 방법이 가장 좋습니다.

관련 문제