On a multisite network the object cache prefixes keys with the blog id unless the group is declared global, so data cached on one site is invisible to another and nothing says so.
add_action( 'init', function () {
wp_cache_add_global_groups( array( 'turkerdev_shared' ) );
} );
wp_cache_set( 'exchange_rates', $rates, 'turkerdev_shared', 3600 );
// without the declaration, site 1 and site 2 each fetch their own.
// with it, one fetch serves the network.
This is invisible on a single site and appears the moment the code runs on a network, which is a long afternoon for anyone who has never seen it. The registration has to happen before any cache call, which in practice means very early — some implementations want it before init, in a must-use plugin. Non-persistent groups are the mirror image: wp_cache_add_non_persistent_groups keeps something out of Redis when it is only useful within one request.