extract _cache_set