1. 前提条件
Redisサーバーが稼働していることを確認してください。
2. StackExchange.Redisを使ったテスト
using StackExchange.Redis;
using System;
using System.Threading;
class Program
{
static ConnectionMultiplexer redisConnection = ConnectionMultiplexer.Connect("localhost");
static void Main(string[] args)
{
Console.WriteLine("アプリケーションを開始します。");
// データベース接続を取得
IDatabase db = redisConnection.GetDatabase();
// キー値ペアのテスト
string sampleValue = "テスト値";
db.StringSet("myKey", sampleValue);
// 値を取得して表示
string retrievedValue = db.StringGet("myKey");
Console.WriteLine("取得した値: " + retrievedValue);
// メッセージキューのテスト
ISubscriber subscriber = redisConnection.GetSubscriber();
// チャンネルへの購読
subscriber.Subscribe("testChannel", (channel, message) =>
{
Console.WriteLine("受信したメッセージ: " + (string)message);
});
// メッセージの送信
for (int i = 0; i < 10; i++)
{
Thread.Sleep(1000);
subscriber.Publish("testChannel", "メッセージ" + i);
}
// 別チャンネルでのテスト
subscriber.Subscribe("anotherChannel", (channe2, message) =>
{
Console.WriteLine("別チャンネルのメッセージ: " + message);
});
subscriber.Publish("anotherChannel", "C#アプリケーションからのメッセージ");
Console.ReadKey();
}
}
3. CSRedisを使ったテスト
class Program
{
static void Main(string[] args)
{
Console.WriteLine("CSRedisテストを開始します。");
// Redis接続の初期化
CSRedis.CSRedisClient csRedisClient = new CSRedis.CSRedisClient("localhost,writeBuffer=8192,prefix=test");
RedisHelper.Initialization(csRedisClient);
// キー値ペアの保存と取得
RedisHelper.Set("nameKey", "サンプル名");
Console.WriteLine("取得した名前: " + RedisHelper.Get("nameKey"));
// チャンネルの購読
RedisHelper.Subscribe((("testChan", (msg) =>
{
Console.WriteLine("購読メッセージ: " + msg.Body);
})));
// メッセージ送信のループ
for (int i = 0; i < 20; i++)
{
Thread.Sleep(300);
RedisHelper.Publish("testChan", "テストメッセージ");
}
// 別チャンネルでのメッセージ送信
for (int i = 0; i < 10; i++)
{
Thread.Sleep(300);
RedisHelper.Publish("infoChan", "情報メッセージ" + i);
}
Console.ReadKey();
}
}
上記のコードは、それぞれのライブラリを使用してRedisの基本操作をテストする例です。実行すると、サーバーに値が保存され、購読チャンネルにメッセージが送信されます。