title: CMS caching advice
body: <p>I'm developping a video cms using .Net. There two main object types:
  Category: hierarchy structure.
  Item: Base cms object which can have custom attributes.
  Each item belongs to one or many categories.
  This system will provide service for many different companies so each item and category has a company relation.
  System will use EntityFramework to retrieve data from MsSql Database.
  System will give single item or ordered item list based on a order filter.</p>
  
  <p>I need an advice to retrieve data from source and provide results in a short time.
  I searched distributed cache solutions like app fabric and some nosql solutions but im not sure how to build my system.</p>
  
  <p>Should i cache all items and produce results based on the cached items or should i cache results and then serve them? What and how should i use?</p>