に基づいてNet、いくつかの一般的なNoSQLデータベースを使用
4365 ワード
目次 0 .Netのキャッシュオブジェクト 1.MemCached 2.Redis 3.MongoDB 例フルソースアドレス
2020年1月10日10:10
shanzm
MemoryCacheオブジェクト HttpContext.Cache(Asp.net)オブジェクト 例:(詳細は、001 MemoryCacheを参照)
インストールパッケージダウンロード:コンパイルされたインストールパッケージ を推奨 NuGet:PM> Install-Package EnyimMemcached MemCachedでのCas操作:(詳細は:003 Cas操作) 例:(詳細は:002 MemCachedDemoを参照)
インストールRedis(公式windows版なし、マイクロソフト自身がオープンソースバージョンを維持) 共通のコマンド: 参照 Redis GUIクライアントのインストール:RedisDesktopManager(cracked 2019.5バージョンを推奨) NuGet:PM>Install-Package StackExchange.Redist(サポートされているdotnetバージョンに注意)公式アドレス Redisの6種類のデータ型の具体的な操作および使用例005 Redisを使用してニュースクリック量006 Redisのlistを計算007アナログ登録送信メール検証008 Redisのsetを使用009 Redisのsorted setを使用010 Redisのsorted setを使用してホット検索011 Redisのhashを使用して012 Redisのgeoを使用(最新バージョンのRedisのみをサポートすることに注意)015 Redisを使用してランダムなお年玉 を実現
例:(詳細は:004 RedisDemo)
インストールMongoDB(公式アドレス) インストールMongoDB GUIクライアント:Robo 3 T NuGet:PM>Install-Package MongoDB.Driver-Version 2.5.0(デフォルトのインストール最新バージョンでは、親測2.5.0バージョンと.net Frameworkバージョンで4.6.1完全なサポートが間違って報告される可能性があります) MongoDBにおける完全な添削調査、参照:017 MongoDBにおけるCURD 例:(詳細は、016 MongoDBDemoを参照)
2020年1月10日10:10
shanzm
0 .Netのキャッシュオブジェクト
//MemoryCache ,
// :System.Runtime.Caching
// ,
MemoryCache memCache = MemoryCache.Default;
// , 10s
memCache.Add("name", "shanzm", DateTimeOffset.Now.AddSeconds(10));
1.MemCached
//
MemcachedClientConfiguration memConfig = new MemcachedClientConfiguration();
memConfig.AddServer("127.0.0.1:11211");
// MemcachedClient
using (MemcachedClient memClient = new MemcachedClient(memConfig))
{
// MemCached
memClient.Store(Enyim.Caching.Memcached.StoreMode.Set, "Name", "shanzm");
memClient.Store(Enyim.Caching.Memcached.StoreMode.Set, "Age", "100");
//
string name = memClient.Get("Name");
if (name == null)
{
Console.WriteLine(" ");
}
else
{
Console.WriteLine(name);
}
//
Console.WriteLine(memClient.Get("Age"));
memClient.Remove("Age");
if (null == memClient.Get("Age"))
{
Console.WriteLine(" Key Age MemCached ");
}
Console.ReadKey();
}
2.Redis
例:(詳細は:004 RedisDemo)
//
using (ConnectionMultiplexer conn = await ConnectionMultiplexer.ConnectAsync("127.0.0.1:6379"))
{
// 0 , , 3 ,conn.GetDatabase(3)
IDatabase db = conn.GetDatabase();
//
await db.StringSetAsync("Name", " ", TimeSpan.FromSeconds(10));
// ( Redis Batch 013Redis )
KeyValuePair[] kvs = new KeyValuePair[3];
kvs[0] = new KeyValuePair("A", "a");
kvs[1] = new KeyValuePair("B", "b");
kvs[2] = new KeyValuePair("C", "c");
await db.StringSetAsync(kvs);
// ( null)
string name = await db.StringGetAsync("Name");
string A = await db.StringGetAsync("A");
//
db.KeyDelete("A");
//
if (!db.KeyExists("A"))
{
MessageBox.Show(" Key ‘A’ ");
}
//
db.KeyExpire("B", TimeSpan.FromSeconds(10));
}
3.MongoDB
// MongoDB ,
MongoClient client = new MongoClient("mongodb://127.0.0.1:27017");
// :TestDb1 , !
IMongoDatabase db = client.GetDatabase("TestDb1");
// Personsde (collection ) !
IMongoCollection persons = db.GetCollection("Persons");
Person p1 = new Person() { Id = 0001, Name = "shanzm", Age = 25 };
Person p2 = new Person() { Id = 002, Name = "shanzm" };//MongoDB Age 0
persons.InsertOne(p1);
persons.InsertOne(p2);