.NETでRedisキャッシュを操作する方法

キャッシングは、システム内のリソースの消費を削減するのに役立つため、アプリケーションのパフォーマンスを向上させるために使用できる状態管理戦略です。

Redis Cacheは、オープンソースの高速NoSQLデータベースです。高速で、データの読み取りと書き込みの際のパフォーマンスのオーバーヘッドはごくわずかで、完全にメモリ内で実行されます。Redisは、BSDライセンスの下で、商用および非商用の両方で無料で使用できることに注意してください。

Redisキャッシュとは何ですか?なぜそれを使用する必要がありますか?

Redisは、最も人気のあるオープンソースのNoSQL、メモリ内ベースのデータストアの1つです。これは、文字列、ハッシュ、セット、リストなど、さまざまなデータ構造をサポートできるインメモリデータストアです。Redisは、レプリケーションとトランザクションの組み込みサポート、およびデータ永続性の優れたサポートも提供します。

Redisは、主にアプリケーションで大量のデータを保存および取得する必要がある場合に適しています。アプリケーションで大量のデータを保存および取得する必要があり、空きメモリの可用性に制約がない場合は、RedisCacheを使用する必要があります。Redisのセットアップは非常に簡単です。次のセクションでは、Redisのインストール、構成、および使用方法について説明します。

Redisのインストール

RedisキャッシュのコピーはGitHubからダウンロードできます。Redisのインストール中に、PATH環境変数にRedisを追加するオプションを確認する必要があります。システムにRedisキャッシュがインストールされたら、「実行」->「service.msc」と入力して、システムで実行されているRedisサービスを確認できます。

C#Redisクライアントの操作

システムにRedisがインストールされたので、Redisキャッシュとの間でデータを保存および取得するためのクライアントが必要です。この例では、ServiceStack C#Redisオープンソースクライアントを使用します。これを行うには、VisualStudioで新しいコンソールアプリケーションプロジェクトを作成します。NuGetパッケージマネージャーを介してServiceStack.Redisをインストールできます。

ServiceStack.RedisがNuGetを介してインストールされていると仮定すると、次の2つの方法は、ServiceStack.RedisAPIを使用してRedisキャッシュからデータを保存および取得する方法を示しています。

private static bool Save(string host、string key、string value)

        {{

            bool isSuccess = false;

            using(RedisClient redisClient = new RedisClient(host))

            {{

                if(redisClient.Get(key)== null)

                {{

                    isSuccess = redisClient.Set(key、value);

                }

            }

            isSuccessを返します。

        }

        プライベート静的文字列Get(文字列ホスト、文字列キー)

        {{

            using(RedisClient redisClient = new RedisClient(host))

            {{

                redisClient.Get(key);を返します。

            }

        }

RedisClientクラスのSetメソッドとGetメソッドを使用して、Redisキャッシュとの間でデータを保存および取得する方法に注意してください。これらの2つのメソッドを更新して汎用にし、どのタイプでも機能できるようにするのはあなたに任せます。

Mainメソッドからこれらのメソッドを呼び出す方法は次のとおりです。

static void Main(string [] args)

        {{

            string host = "localhost";

            文字列キー= "";

            //データをキャッシュに保存します

            bool success = Save(host、key、 "Hello World!");

            //キーを使用してキャッシュからデータを取得します

            Console.WriteLine( "Redisキャッシュから取得したデータ:" + Get(host、key));

            Console.Read();

        }

前に言ったように、Redisは機能が豊富です。ここでの私の将来の記事の1つで、永続化、pub-sub、自動フェイルオーバーなどのいくつかの高度な概念について説明します。永続化のRDB(単一のコンパクトファイル)またはAOFの方法を利用できます。ただし、適切な永続性オプションを選択する前に、パフォーマンス、耐久性、およびディスクI / Oの間のトレードオフを考慮する必要があります。

Redisの詳細については、プロジェクトのオンラインドキュメントをご覧ください。

GUI管理ツールを使用してRedisデータを表示することに興味がある場合は、Redis管理UIツールを試すことができます。