title: Object cache for C#
body: <p>I'm doing a document viewer for some document format. To make it easier, let's say this is a PDF viewer, a <strong>Desktop application</strong>.  One requirement for the software is the speed in rendering. So, right now, I'm caching the image for the next pages while the user is scrolling through the document.</p>
  
  <p>This works, the UI is very responsive and it seems like the application is able to render the pages almost instantly....at a cost : the memory usage sometimes goes to 600MB. I cache it all in memory.</p>
  
  <p>Now, I can cache to disk, I know, but doing that all the time is noticeably slower. What I would like to do is implement some cache (LRU?), where some of the cached pages (image objects) are on memory and most of them are on disk.</p>
  
  <p>Before I embark on this, is there something in the framework or some library out there that will do this for me? It seems a pretty common enough problem.
  (This is a desktop application, not ASP.NET)</p>
  
  <p>Alternatively, do you have other ideas for this problem?</p>