Redisの簡易テスト

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の基本操作をテストする例です。実行すると、サーバーに値が保存され、購読チャンネルにメッセージが送信されます。

タグ: StackExchange.Redis CSRedis C# redis

8月3日 02:46 投稿