Currently the cache system are always using GET-parameters in the hashing of the cache key when they're available. This results in all views getting a new cache key when one view on a page are using a pager, table sort or similar.
I'm attaching a patch that removes the use of $_GET in the cache plugins and instead relies on data from the View itself to create the hash for the cache key.
I've only created a special solution for the pager since exposed_info, sort and order are already included in the query and/or the arguments and that way are already included in the hash.
This patch is dependent onbut this issue isn't in any way dependent on that issue so if someone else would like to make a patch that isn't dependent on that issue - please feel free to do so.