Design a caching strategy

You are creating a solution in which the majority of the application is dynamic, but some areas can be cached for a long time. What kind of approach would you take? (Choose all that apply)

Donut caching
Windows AppFabric caching
Donut hole caching
Data caching