2012-12-26 1 views
0

캐시 도우미로보기를 캐시하려고합니다. <!--nocache-->{...}<!--/nocache-->을 사용하여 정적 콘텐츠 또는 세션 콘텐츠에 적합하지만 내부 작업 변수에서는 작동하지 않습니다.CakePHP보기에서 동적 내용을 캐시하지 마십시오.

예를 들어,이 기사에 대한 캐시 가능 기사 및 캐시 할 수없는 사용자 정의 등급이있는 경우 등급 변수도 캐시되므로 <!--nocache-->echo $rating;<!--/nocache-->을 사용하여이 등급을 표시 할 수 없습니다.

답변

1

제가 올바르게 이해한다면 이것은 의도 한 바입니다.

조치가 캐시되면 모든보기 변수가 직렬화되고 조치가 다시 호출되지 않습니다 (캐시가 지워질 때까지).

다음 중 하나 :보기 캐싱을 사용하지 않거나 캐시 시간이 더 자주 만료되도록 설정하십시오.

"실시간"으로 등급을 높이려면 누군가가 등급을 수정할 때마다 캐시를 ​​지우도록하십시오.

앱에 캐시 된 버전의 혜택이 있습니다.

+0

등급이 변경되면 캐시를 지울 수도 있습니다. – dogmatic69

+0

@ 로스 : 아니요,보기 캐시를 사용하고 싶지만 매번 계산할 변수가 필요합니다. 사실, 당신이 제안하는 해결책은 효과가 없습니다. 내가 말했듯이, 이것은 사용자가 정한 등급이므로, 캐시하면 사용자에 의존하지 않고 각 사용자마다 동일하게됩니다. 예를 들어, UserA가 8/10 등급을 설정하면 캐싱됩니다. UserB가 4/10을 설정하더라도 8/10 ... –

+0

은 사용자별로 고유 한 등급입니까? 아니면 평균? – Ross

관련 문제