Does WordPress cache get_user_meta() results?

If I call get_user_meta() to retrieve a value, does WordPress cache the value? If I call get_user_meta() to retrieve the same value, does WordPress have to query the database again or is it stored in PHP memory?

Related posts

Leave a Reply

1 comment

  1. Yes, it does. That function is a wrapper for get_metadata(). Inside of that you can find:

    $meta_cache = wp_cache_get($object_id, $meta_type . '_meta');
    
    if ( !$meta_cache ) {
        $meta_cache = update_meta_cache( $meta_type, array( $object_id ) );
        $meta_cache = $meta_cache[$object_id];
    }