Caching the_content calls

The first implementation is in a new function called the_content_cached.

function the_content_cached( $more_link_text = null, $strip_teaser = false ) {

    $post_id = get_the_ID();
    // Not possible to tie content to post ID
    if ( ! $post_id ) {
        the_content( $more_link_text, $strip_teaser );
        return;
    }

    $cached = wp_cache_get( $post_id, 'the_content' );
    // Cache miss
    if ( ! $cached ) {
        add_filter( 'the_content', 'tiny_cache_save_the_content', PHP_INT_MAX );
        the_content( $more_link_text, $strip_teaser );
        remove_filter( 'the_content', 'tiny_cache_save_the_content', PHP_INT_MAX );
        return;
    }

    // Cache hit
    $timestamp = gmdate( 'c' );
    $message_tpl="<!-- Cached content generated by Tiny cache on %s -->";
    print $cached;
    printf( $message_tpl, $timestamp );
}

// Save the content to the object cache
function tiny_cache_save_the_content( $content ) {

    $post_id = get_the_ID();
    // Tie content to post ID
    if ( $post_id ) {
        wp_cache_set( $post_id, $content, 'the_content' );
    }

    return $content;
}