Add external_cache_create separate from cache_func (#5463) * Add external_cache_create separate from cache_func * Simplify cache_func_t signature * Rename a cache type * Rename another cache type