DUICUO

C#でRedisを操作するための5つの一般的な方法

Redisは、データベース、キャッシュ、メッセージブローカーとして使用できるオープンソースのインメモリデータ構造ストアです。C#では、様々なメソッドを使ってRedisを操作できます。以下に、一般的な5つのメソッドを紹介します。

1. StackExchange.Redisライブラリを使用する

StackExchange.Redisは、.NETで最も人気のあるRedisクライアントの1つです。Redisとやり取りするための高性能な非同期APIを提供します。

StackExchange.Redis をインストールします。

 Install-Package StackExchange.Redis

使用例:

 using StackExchange.Redis; var redis = ConnectionMultiplexer.Connect("localhost"); IDatabase db = redis.GetDatabase(); // 设置键值对db.StringSet("key", "value"); // 获取值string value = db.StringGet("key");

2. ServiceStack.Redisライブラリを使用する

ServiceStack.Redis は、厳密に型指定された使いやすい API を提供する、もう 1 つの一般的な .NET Redis クライアントです。

ServiceStack.Redis をインストールします。

 Install-Package ServiceStack.Redis

使用例:

 using ServiceStack.Redis; var redisClientsManager = new RedisManagerPool("localhost"); using (var redis = redisClientsManager.GetClient()) { // 设置键值对redis.Set("key", "value"); // 获取值string value = redis.Get("key"); }

3. CSRedisライブラリを使用する

CSRedis は、非同期操作、接続プール、自動再接続などの機能をサポートするシンプルで効率的な Redis クライアントです。

CSRedis をインストールします。

 Install-Package CSRedis

使用例:

 using CSRedis; var redis = new CSRedisClient("localhost"); // 设置键值对redis.Set("key", "value"); // 获取值string value = redis.Get("key");

4. NRedisライブラリを使用する

NRedisは、パフォーマンスと使いやすさに重点を置いた軽量なRedisクライアントです。すべてのRedisコマンドをサポートし、直感的なAPIを提供します。

NRedis をインストールします。

 Install-Package NRedis

使用例:

 using NRedis; var redis = new RedisClient("localhost", 6379); // 设置键值对redis.Set("key", "value"); // 获取值string value = redis.Get("key");

5. Redis コマンドラインツール (redis-cli) の C# ラッパーを直接使用する

この方法はあまり一般的ではありませんが、C#からRedisのコマンドラインツール(redis-cli)を呼び出すことでコマンドを実行できます。この方法はやや原始的ですが、特定のシナリオでは便利です。System.Diagnostics.Processクラスを使用してredis-cliを起動し、コマンドを渡すことができます。

使用例 (redis-cli がシステムの PATH にあると仮定):

 using System.Diagnostics; ProcessStartInfo startInfo = new ProcessStartInfo("redis-cli", "SET key value") { RedirectStandardOutput = true }; Process process = new Process { StartInfo = startInfo }; process.Start(); string output = process.StandardOutput.ReadToEnd(); process.WaitForExit();

注: この方法は、オペレーティング システム、権限、パフォーマンスなどのさまざまな要因の影響を受ける可能性があるため、通常、実稼働環境では推奨されません。

結論は

C#でRedisを操作する方法はいくつかあり、それぞれに長所と短所があります。StackExchange.Redisは、高いパフォーマンスと非同期サポートにより広く普及しています。ただし、具体的なニーズやプロジェクト環境によっては、他のライブラリが適切な選択肢となる場合もあります。Redisクライアントを選択する際には、パフォーマンス、使いやすさ、コミュニティのサポート、メンテナンスなどの要素を考慮してください。