The object cache API is always available and, without a drop-in, discards everything at the end of the request.
$value = wp_cache_get( 'expensive', 'turkerdev' );
if ( false === $value ) {
$value = turkerdev_compute();
wp_cache_set( 'expensive', $value, 'turkerdev', 3600 );
}
// with no object-cache.php drop-in, the TTL is ignored and
// the entry lives for one request.
wp_using_ext_object_cache(); // the check that matters
Within a request it is still worth having — the same expensive lookup called from three places runs once — and the code reads as if it caches across requests, which is where the misunderstanding comes from. false being the miss sentinel is the other trap: caching a value that is legitimately false means it is recomputed every time.