You should consider using Redis . It is an advanced NoSQL database with support for rich server-side data structures such as lists, sets, sorted sets, and hashes. It is also one of NoSQL's fastest databases: 110,000 SET / sec, 81,000 GET / sec for entry-level Linux. Check out the tests .
I have an open source, multi-functional C # client that allows you to save any type of C # POCO originally available at: https://github.com/ServiceStack/ServiceStack.Redis.
Here are some tests comparing a Redis C # client with RavenDB .
The client provides a rich interface that provides wrappers for universal IList, IDictionary, and ICollection.NET for rich data structures on the Redis server side.
If you want to see a good tutorial on how to use it to develop real-world applications, check out: http://code.google.com/p/servicestack/wiki/DesigningNoSqlDatabase
Here is an example on the page above showing how easy it is to store and retrieve C # objects:
var redis = new RedisClient(); using (var redisUsers = redisClient.GetTypedClient<User>()) { redisUsers.Store(new User { Id = redisUsers.GetNextSequence(), Name = "demis" }); redisUsers.Store(new User { Id = redisUsers.GetNextSequence(), Name = "mythz" }); var allUsers = redisUsers.GetAll(); Console.WriteLine(allUsers.Dump()); }
Although the server is mainly designed for Linux, I have Windows Redis-Server assemblies available at: http://code.google.com/p/servicestack/wiki/RedisWindowsDownload
mythz
source share