add experimental feature cache_with_expiry