Cache:
1- It is small memory area.
2- Allow you to store difficult and complex constructed data which can be reused.
3- It is available to be accessed from global/application level where one reference to memory is updated. Each request will use the same cache for different users.
Session:
1- A period of time that is shared between the web application and the user.
2- Each user that is using the web application has their own session.
3- The Session variables will be cleared by the application which can clear it, as well as through the timeout property in the web config file.
4- Session variables will use different session variables for each different user.