Cache field / entity / node I have a custom field/widget that has a format view function that is highly resource intensive.  I currently am caching the result using cache_set()/cache_get() inside the hook_field_formatter_view function for my field.

Is there a better way I could be doing this?  I tried to use drupal_render()'s #cache property and it cached the output but still ran my hook_field_formatter_view function.

Basically, I know how to do full page cache (for anonymous users) but how do you cache a field/node/entity (for everyone)?
I currently am caching the result using cache_set()/cache_get() inside the hook_field_formatter_view function for my field


Honestly this is not a bad way to go about doing it. When you have custom logic which is resource intensive, taking responsibility for your own caching decisions is usually the right idea. Honestly, I really wish more developers would familiarize themselves with cache_get/set().

Entitycache appears to be an effort to do this generally, and over time I am sure that some best practices will emerge as more people work in this space. However as of today, for anyone looking at a similar problem-set: "Figure out how to cache it yourself" is a good answer.