There are purely C# based in memory database, such as NMemory,
There are also C# wrappers that enable Memcached for C#,
http://www.codeproject.com/Articles/96698/Implementing-Distributed-Caching-using-Memcached
http://www.deanhume.com/Home/BlogPost/memcached-for-c----a-walkthrough/62
Is there a port of memcache to .Net?
Therefore, there are indeed lots of approaches available, but why couldn't you search, investigate and evaluate to find the one that best matches your scenarios? No one else can help you much, as their environment/requirements are different from yours.