it-swarm-ko.tech

캐시 필드 / 엔티티 / 노드

리소스 집약적 인 형식보기 기능이있는 사용자 지정 필드/위젯이 있습니다. 현재 내 필드의 hook_field_formatter_view 함수 내에서 cache_set()/cache_get()을 사용하여 결과를 캐싱하고 있습니다.

이 작업을 수행 할 수있는 더 좋은 방법이 있습니까? drupal_render()#cache 속성을 사용하려고했는데 출력을 캐시했지만 hook_field_formatter_view 함수를 실행했습니다.

기본적으로 전체 페이지 캐시 (익명 사용자 용)를 수행하는 방법을 알고 있지만 필드/노드/엔티티 (모든 사용자 용)를 어떻게 캐시합니까?

5
Kevin

현재 내 필드의 hook_field_formatter_view 함수 내에서 cache_set ()/cache_get ()을 사용하여 결과를 캐싱하고 있습니다.

솔직히 이것은 그렇게하는 나쁜 방법이 아닙니다. 리소스 집약적 인 사용자 지정 논리가있는 경우 일반적으로 자신의 캐싱 결정에 대한 책임을지는 것이 올바른 생각입니다. 솔직히 더 많은 개발자들이 cache_get/set ()에 익숙해 지길 바랍니다.

Entitycache는 일반적으로이를 수행하기위한 노력으로 보이며 시간이 지남에 따라 더 많은 사람들이이 공간에서 작업함에 따라 몇 가지 모범 사례가 나타날 것이라고 확신합니다. 그러나 오늘 현재, 유사한 문제 세트를보고있는 사람에게 "직접 캐시하는 방법 파악"은 좋은 답변입니다.

3
Josh Koenig

Render Cache 모듈 사용을 고려해야한다고 생각합니다. Entity Cache 와 함께 사용하면 프로젝트 페이지에 언급 된대로 서로 보완되어야합니다.

0
Gokul N K