.NET Core での Redis 統合をマスターする:実践ガイド
はじめに
Redis は、最新のアプリケーションのキャッシュ、セッション ストレージ、メッセージ ブローカリング、パブリッシュ/サブスクライブ通信に広く使用されている高速なメモリ内キー/値ストアです。軽量でパフォーマンスが高く、開発者にとって使いやすいため、スケーラブルなシステムを構築するための有力な選択肢となります。
.NET Core で開発していて、Redis をアプリケーションに統合したい場合、この記事では StackExchange.Redis ライブラリを使用して基本的な Redis 操作を実行する方法を説明します。
Windows システムで作業している場合は、Redis 互換サーバーを使用すると、Linux やコンテナ化を必要とせずに Redis を実行できます。
Redis を使用する理由
Redis を .NET Core アプリケーションと統合すると、いくつかの利点が得られます。
<オル>Redis のセットアップ
Redis の使用
.NET Core アプリを Redis に接続するには、Redis を実行します。
- コマンドラインによるインストール: Docker などのツールを使用して、Linux または Windows 上で Redis を実行します。
- 事前設定された Windows の代替: Windows を使用している場合は、Redis をネイティブに実行するためのドロップイン代替として Redis 互換サーバーを使用できます。
と注意してください。 簡単にするために、このチュートリアルでは、Redis が localhost:6379 でローカルに実行されていることを前提としています。
Redis を使用した .NET Core アプリケーションの構築
この例では、次の Redis 操作を実行する .NET Core コンソール アプリケーションを作成します。
<オル>ステップ 1. .NET Core プロジェクトを作成します。
<オル>ターミナルを開いて新しいプロジェクトを作成します。
dotnet new RedisIntegrationDemo Redis 接続用の StackExchange.Redis パッケージをインストールします。
dotnet add package StackExchange.Redis ステップ 2. コードを書きます。
Program.cs の完全な実装は次のとおりです。
using System;
using StackExchange.Redis;
using System.Threading.Tasks;
namespace RedisIntegrationDemo
{
class Program
{
// Connection string for Redis
private const string RedisConnectionString = "localhost:6379";
async static Task Main(string[] args)
{
Console.WriteLine("Connecting to Redis...");
// Connect to Redis
var redis = await ConnectionMultiplexer.ConnectAsync(RedisConnectionString);
Console.WriteLine("Connected to Redis successfully.\n");
// Access the Redis database
IDatabase db = redis.GetDatabase();
// Perform Redis operations
Console.WriteLine("Performing Redis operations...");
// 1. Set key-value pair
string key = "SampleKey";
string value = "Hello from Redis!";
await db.StringSetAsync(key, value);
Console.WriteLine($"Set: {key} => {value}");
// 2. Get the value for the key
string savedValue = await db.StringGetAsync(key);
Console.WriteLine($"Get: {key} => {savedValue}");
// 3. Set an expiration for the key
TimeSpan expiryTime = TimeSpan.FromSeconds(10);
await db.KeyExpireAsync(key, expiryTime);
Console.WriteLine($"Set expiration for {key}: {expiryTime.TotalSeconds} seconds");
// 4. Check key existence after expiration
Console.WriteLine("\nWaiting for the key to expire...");
await Task.Delay(12000); // Wait 12 seconds
bool exists = await db.KeyExistsAsync(key);
Console.WriteLine($"Key Exists After Expiration: {key} => {exists}");
// Close the connection
redis.Close();
Console.WriteLine("\nAll Redis operations completed.");
}
}
} ステップ 3. アプリケーションを実行します。
アプリケーションを実行します。
dotnet run 期待される出力
プログラムは Redis に接続し、基本的なキーと値の操作を実行し、キーの有効期限を検証します。次のような出力が表示されるはずです。

Redis は .NET Core でどのように動作しますか?
アプリケーションの動作を段階的に説明します。
<オル>- StringSetAsync: Redis にキーと値のペアを設定します。
- StringGetAsync: キーの値を取得します。
- KeyExpireAsync: キーの有効期限を設定します。
- KeyExistsAsync: キーが存在するかどうかを確認します。
Windows 環境で作業していて、ネイティブ Redis インスタンスをインストールしたり Docker を使用したくない場合は、代わりに Redis 互換サーバーを使用できます。
Redis 互換サーバーのセットアップ
- Windows 用の Redis 互換サーバーをインストールします。
- サーバーは通常、インストールされると、Redis と同様にデフォルトで localhost:6379 で実行されます。
- アプリケーションを Redis 互換サーバーで動作させるためにコードを変更する必要はありません。
Redis 互換サーバーを使用すると、コンテナや仮想化環境に依存せずに、Redis 機能を Windows 上でネイティブに実行できます。
.NET Core で Redis を使用する利点
<オル>結論
Redis を .NET Core アプリケーションに統合すると、要求の厳しいワークロードを処理できる高品質でパフォーマンスの高いシステムを構築できます。 StackExchange.Redis ライブラリを使用すると、Redis とシームレスに対話できます。
まず単純なキャッシュやセッション管理のために Redis を実装し、その使用を分散 .NET Core アプリケーションでのパブリッシュ/サブスクライブやリアルタイム データのニーズに拡張します。
コーディングとスケーリングを楽しんでください!
-
Redisエンタープライズモニタリングオプション
新しい役割を開始し、最初の顧客との最初の会議に到着した場合、.NETでの容量計画、DNSの問題、地理的分散、および開発に関する2日間の計画を備えています。質問は次のとおりです。「クラスターとデータベースを効率的に監視するにはどうすればよいですか?」 さて、16年の運用経験で、準備ができていると思いました。もちろん、実際には、「学べば学ぶほど、自分の知らないことがどれだけあるかがわかります。」さて、新しいソフトウェアを見ると、最初の質問の1つは、それが本番環境で正しく動作することを確認する方法です。言い換えれば、どうすればそれを監視できますか? そのことを念頭に置いて、システムの組み込み監
-
redisデータストアでキーの名前を変更する方法– Redis RENAME | RENAMENX
このチュートリアルでは、redis RENAMEおよびRENAMENXコマンドを使用して、redisデータストアのキーの名前を変更する方法について学習します。 RENAMEコマンド:- RENAMEコマンドで、キーの名前を古い名前から新しい名前に変更します。新しい名前のキーがすでに存在する場合は上書きされ、暗黙のDELコマンドを使用して古い名前のキーが削除されます。それ以外の場合は、古い名前のキーが新しい名前に変更されます。 redisRENAMEコマンドの構文は次のとおりです:- 構文:- redis host:post> RENAME <old name> &