Look at the documentation for version 8. The system stores different versions of the output cache for pages based on the selected variables (see
System -> Performance -> Output caching). By default you have
username;sitename;lang;browser;cookielevel;deviceprofile. For example, if you uncheck the 'username' option, pages use the same output cache data for all users (depending on the remaining variables). If you want to have something user specific - then you can to add substituion macros. For example you can use substituion macro to show who is logged in on top of the page (if this is the only portion of the page which is user specific) So the system gets the whole page from cache and replace this tiny portion on the top with logged in user.
Again it depends how your site is set up if you are using Bootstrap - you probably can remove
deviceprofile (media queries would take care of all that).
Less variables you have there more frequently your output cache is gonna be used.
P.S. The other thing to look at is
Allow file system cache. So instead of keeping your pages in memory they will be kept on disc. Less memory footprint and faster server reloads. Anyway you have to play around with the settings and adjust them to your needs.