caching alternatives with conditional directives