Index: wp-includes/query.php
===================================================================
--- wp-includes/query.php	(revision 14311)
+++ wp-includes/query.php	(working copy)
@@ -1597,7 +1597,7 @@
 	 * @return array List of posts.
 	 */
 	function &get_posts() {
-		global $wpdb, $user_ID;
+		global $wpdb, $user_ID, $_wp_using_ext_object_cache;
 
 		do_action_ref_array('pre_get_posts', array(&$this));
 
@@ -2507,6 +2507,10 @@
 			$this->posts[$i] = sanitize_post($this->posts[$i], 'raw');
 		}
 
+		// If using an object cache and the number of posts is greater than 20, skip updating the post caches.
+		if ( $_wp_using_ext_object_cache && $this->post_count > apply_filters('update_post_cache_threshold', 20) )
+			$q['cache_results'] = false;
+
 		if ( $q['cache_results'] )
 			update_post_caches($this->posts, $post_type);
 
