Implement cache_key