Q:

In an Orchard site, can the output cache be preserved during module updates? 

The site has over 7,000 pages of content.  When most of the pages are cached the site handle its traffic acceptably.  When, for example, a code update is deployed for a module, the cache is flushed. ( This could also happen from some other event, like a server restart or the app pool getting recycled.)  
The site is getting hit by a search engine spider, which does its job of re-indexing the site, checking on all the pages it knows of, and triggering the process of rebuilding the cache for all pages.  This is pegging the CPU at 90% to 98% and causing the site to respond slow for all page requests. 
Is there a way to preserve what is in the output cache through a rebuild or restart? 

A:

Yes there is, although it requires you to use an external cache server like Redis.  The default cache provider uses the in-memory storage, which will always be reset when the app pool gets restarted.  The latest Orchard release supports Redis out of the box via Orchard. Redis core module.  
The above applies to both business cache (ICacheService) as well as output caching.