Are there any KeyValue stores used by .NET? [closed]
开发者_开发技巧
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 1 year ago.
Improve this questionI am looking up keyvalue stores that support C#, but i found that most of them are implemented by Java. Could anybody recommend some to me? It would be super if it is very light-weight, i.e., appearing as a library. thanks!!
Dictionary<key,Value>
http://msdn.microsoft.com/en-us/library/xfhwa508.aspx
KeyValuePair<string, string>
http://msdn.microsoft.com/en-us/library/5tbh8a42.aspx
If you want an in-process, persistent key-value store (like Berkeley Db) then take a look at the PersistentDictionary which is part of the ManagedEsent project. A persistent dictionary looks like a normal dictionary but is backed by a database. If you build from the current sources then you will get Linq support, which lets you do queries.
If you mean a NoSQL store, What NoSQL solutions are out there for .NET? has a list of these.
There are tons, depending on your requirements.
Another you can consider is System.Runtime.Caching namespace, which has been added to .NET 4.0.
is this what you mean by a key Value pair..like a hashtable()
Hashtable = ht = new HashTable();
or
Dictionary<double,string> d1 = new Dictionary<double,string>();
or
Dictionary<String,string> d2 = new Dictionary<string,string>();
etc.
> I am looking up keyvalue stores that support C#
If you're looking for a native .NET key value store then try NCache. Its built using C#. There are none other i think.
Its offers much more than just a simple .net key value store. You can stick to just keeping keys and values in it.
Cache cache = NCache.InitializeCache("CacheName");
cache.Add("Key", "Value");
object value = cache.Get("Key");
Redis is a excellent one. And there is amazing c# redis client ServiceStackRedis also available. Its very lightweight.
And if you want to try redis on windows, you can find the windows version here
GetCache is a very simple key-value in-memory cache developed in .Net 4.5. Server and client library can be downloaded fron Nuget.
http://www.nuget.org/packages/GetCacheServer/
http://www.nuget.org/packages/GetCacheClient/
FASTER - A fast concurrent persistent key-value store and log, in C# and C++
https://microsoft.github.io/FASTER/
精彩评论