Redis キャッシュによる .NET Core 6 のパフォーマンスの向上:ステップバイステップ ガイド
はじめに
今日のペースの速いデジタル世界では、アプリケーションは高いパフォーマンスと応答性を実現することが期待されています。これを実現する 1 つの方法は、頻繁にアクセスされるデータを保存するキャッシュ メカニズムを実装し、データベースからデータを繰り返しフェッチする必要性を減らすことです。一般的なメモリ内データ ストアである Redis は、.NET Core アプリケーションに堅牢なキャッシュ ソリューションを提供します。この記事では、実践的な例を使用して、.NET Core 6 アプリケーションに Redis キャッシュを統合する方法を検討します。
前提条件
始める前に、次の前提条件がシステムにインストールされていることを確認してください。
<オル>ウィンドウに Radis サーバーをインストールする
Redis をダウンロード
この GitHub ページから、64 ビット Windows 用のやや古いプリコンパイル済みバージョンの Redis をダウンロードできます:https://github.com/MicrosoftArchive/redis/releases/download/win-3.0.504/Redis-x64-3.0.504.msi
このリンクをクリックすると .msi ファイル を取得します。 これはWindows インストーラーです。 。次に、ダウンロード に移動します。 フォルダに移動し、このファイルを見つけます。
次に、そのファイルをクリックして Redis をインストールします。
Redis サーバーは C:\Program Files\Redis にインストールされている必要があります。 。そこには、redis-server. という名前の .exe ファイルがあります。

次に、コマンド ラインを開いて次のコマンドを入力します。
redis-server

Redis サーバーが実行を開始しました。
これで、このコマンドで Redis サーバーの更新と変更を監視できるようになります。
redis-cli monitor

.NET Core 6 コンソール アプリケーションを作成する
dotnet new console -n RedisCacheDemo プロジェクト フォルダーに移動します
cd RedisCacheDemo 必要なパッケージをインストールする
dotnet add package StackExchange.Redis Redis 接続の構成
Program.cs 内 ファイルに必要なステートメントを追加し、Main で Redis 接続を構成します。 メソッド:
static void Main(string[] args)
{
var configuration = ConfigurationOptions.Parse("localhost:6379");
var redisConnection = ConnectionMultiplexer.Connect(configuration);
var redisCache = redisConnection.GetDatabase();
Console.WriteLine("Fetching data with caching:");
var cachedData = GetDataWithCaching(redisCache);
Console.WriteLine($"Result: {cachedData}");
Console.WriteLine("Fetching data without caching:");
var uncachedData = GetDataFromDatabase();
Console.WriteLine($"Result: {uncachedData}");
redisConnection.Close(); //It is important to close the connection
}
static string GetDataFromDatabase()
{
// Simulate fetching data from the database
// Replace this with your actual database fetching logic
Thread.Sleep(2000); // Simulating latency
return "Start";
}
static string GetDataWithCaching(IDatabase redisCache)
{
// redisCache.KeyDelete("cachedData"); // For Delete the Cache
// redisCache.StringSet("cachedData", "Test", TimeSpan.FromMinutes(1)); // For Update the Cache
string cachedData = redisCache.StringGet("cachedData");
if (string.IsNullOrEmpty(cachedData))
{
cachedData = GetDataFromDatabase();
redisCache.StringSet("cachedData", cachedData, TimeSpan.FromMinutes(1));
}
return cachedData;
} このプログラムの実行を続行してください。
この出力では、キャッシュがある場合とない場合の結果は同じです。これは、出力が初めて生成されたときにキャッシュに保存されるためです。ただし、コードに変更がある場合、結果は異なります。
static string GetDataFromDatabase()
{
// Simulate fetching data from the database
// Replace this with your actual database fetching logic
Thread.Sleep(2000); // Simulating latency
return "Last";
} コードの値を更新したので、再実行します。
この出力では、最初の値はキャッシュから取得され、2 番目の値はキャッシュを使用せずに取得されます。
結論
おめでとうございます! Redis キャッシュが .NET Core 6 アプリケーションに正常に統合されました。キャッシュを実装することで、アプリケーションのパフォーマンスと応答性が向上し、頻繁にアクセスされるデータの処理がより効率的になりました。
-
Envflow の構築:Laravel および Upstash Redis と環境変数を安全に共有する
私は最近、Nuno Maduro のプロジェクト Pyre にインスピレーションを受けています。これは、必要な人に短期間の秘密メッセージを送信できる Web アプリです。これらのメッセージは保存時に暗号化されており、あなたまたは復号化リンクを共有した人だけがメッセージを読むことができます。 私は Upstash Redis で同様のものを構築したかったので、環境変数の共有というニッチな分野を選択しました。きっと、ある時点でチームメイトと秘密を共有する必要があり、それを安全に行うことができるシステムを構築する方法を疑問に思ったことがあると思います。 Envflow を紹介します。これは私が構
-
Redis HGETALL –ハッシュ値に含まれるすべてのフィールド/値のペアを取得する方法
このチュートリアルでは、キーに格納されているハッシュ値に含まれるすべてのフィールドと値のペアを取得する方法について学習します。このために、Redis HGETALLを使用します コマンド。 HGETALLコマンド このコマンドは、キーに格納されているハッシュ値に含まれるすべてのフィールドとそれに関連する値を返します。キーが存在しない場合は空のリストが返され、キーは存在するがキーに格納されている値がハッシュデータ型ではない場合はエラーが返されます。 RedisHGETALLコマンドの構文は次のとおりです。- 構文:- redis host:post> HGETALL <ke