NCache、分散型で線形にスケーラブルで高速なメモリ内 キーバリューストア オブジェクトのキャッシュにより、データベースのトリップを減らし、より高い負荷を簡単にスケーリングできます。 同様に、 Redis 分散キャッシングソリューションでもありますが、次のような主要な機能がありません。 SQL & LINQサポート, クライアントキャッシュ(InProc) & ピアツーピアクラスタリング など。.NETの場合 Redis クライアントアプリケーション、 NCache StackExchangeと同じラッパーAPIを提供します。Redis ユーザーが簡単に移動できるようにするAPI NCache 最小限のコード変更で。
したがって、実際のステップは、からの移行について学ぶことです。 Redis 〜へ NCache。 このブログは、からのスムーズな移行のために何をする必要があるかについての段階的なガイドを提供します Redis 〜へ NCache.
の必要性 NCache ラッパー Redis .NETおよび .NET Core
上記のすべてを踏まえて、今、想像してみてください Redis 純粋な.NET/を使用するクライアント.NET Core 最小限のコード変更と追加機能で移植したいアプリケーション。 彼は何をすべきか? 使用する NCache! 多くの機能とからのシームレスな移行を提供します Redis 〜へ NCache.
ただし、 NCache あなた自身で Redis クライアントアプリケーションでは、多くのことを学ぶ必要があります NCache、その提供された機能を組み込んでから NCache 他の機能も実行しながら。 デプロイされたアプリケーションは何度も再テストする必要があり、これは非常にコストがかかり面倒なプロセスになります。
そう、 NCache 上記の問題を非常に賢く解決しました。 ラッパーを実装しました NCache StackExchangeと同じAPI。Redis API。 これは標準のStackExchangeです。Redis 最小限のコード変更が必要なAPI Redis スケーラブルな方法でそれを使用するためのクライアントアプリケーション NCache.
利用方法 NCache ラッパー Redis 簡単に
からの移行についての最良の部分 Redis 〜へ NCache 移行に必要なコードやロジックの変更がないことの容易さです。 StackExchange。Redis APIの動作は全体を通して同じです NCache と統合 Redis クライアント アプリケーション。
ユーザーとして、いくつかの名前空間を編集して、キャッシュへのアクセスとダウンロードを提供する必要があります。 NuGetパッケージ そして、アプリケーション全体がうまくいきます。 このラッパーのソースコードとサンプルアプリケーションは、 GitHubの.
ステップ1:ダウンロード NCache Redis ラッパーNuGet
NCache 提供 NuGetパッケージ StackExchangeにインストールされます。Redis 応用。 NuGetパッケージには client.ncconf アクセスするようにキャッシュクライアントを構成するために使用されるファイル NCache クライアントマシンからのクラスター。
1 |
Install-Package NCache.StackExchange.Redis |
ステップ:2アプリケーションに名前空間を追加します
アプリケーションファイルとソースファイルに次の名前空間を追加します。
1 |
NCache.StackExchange.Redis |
ステップ3: キャッシュに接続し、 NCache データベース
次のステップは、を介してキャッシュに接続することです ConnectionMultiplexerクラス これはStackExchangeの中心的なオブジェクトです。Redis 複数のサーバーの詳細を隠すAPI。 操作をシームレスに実行できるように、キャッシュが実行されていることを確認してください。 あなたも学ぶことができます キャッシュを作成する方法 ステップワイズガイドから NCache のドキュメントで詳しく説明されています)。
1 |
ConnectionMultiplexer ncache = ConnectionMultiplexer.Connect(“cacheName”); |
と同じように NCache 〜を提供する Iキャッシュ のインスタンスを取得するためのインターフェイス NCacheのキャッシュ、 入手NCacheインターフェース を介してキャッシュを取得することです Redis インタフェース。
1 |
ICache cache = ncache.GetNCacheInterface(“cacheName”); |
アクセスするのと同じように Redis データベース、それは使用するのは非常に簡単です NCache 以下に書くようなラッパーとして。
1 |
var db = ncache.GetDatabase(); |
また、アプリケーションの残りの部分と一緒に、StackExchangeを引き続き使用できます。Redis APIは、コードを変更せずに以前使用していたのと同じ方法です。
アプリケーションがに接続されると NCache キャッシュクラスターを使用すると、操作を非常に簡単に実行できます。 Redis アプリケーションはに移行されました NCache。 したがって、いくつかの手順に従うだけで、全体が移行されます Redis アプリケーションへ NCache 手間をかけずに。
なぜ NCache ラッパー Redis クライアント?
使い方 NCache のために Redis クライアントアプリケーションには、次の利点があります。
-
- SQL クエリと LINQ: NCache オブジェクト属性、グループ/サブグループ、 タグ & 名前付きタグ これにより、キャッシュに保存したデータを簡単に検索できます。
- サーバーサイドコード(.NET): NCache デプロイできます サーバー側のコード クラスタ内のキャッシュサーバーで実行します。 .NETでサーバー側コードを開発および展開できるようにするための豊富な機能セットが提供されています。 いくつかの機能は リードスルー, ライトスルー & キャッシュローダー.
- キャッシュを最新の状態に保つ(依存関係): NCache キャッシュが常に最新であり、データの整合性に自信を持って信頼できることを確認します。 キャッシュ内のデータが古くなると、すぐにデータベースのデータに更新されます。 NCache この目的のための機能のリストを提供します キャッシュをデータベースと同期する & 依存関係 異なり、 Redis これは、有効期限を通じてのみ提供されます。
- キャッシュパフォーマンス(クライアントキャッシュ(InProc Speed)): NCache オファー クライアントキャッシュ (Near Cache)これは基本的にアプリケーション(InProc / OutProc)に非常に近いローカルキャッシュです。 これにより、アプリケーションのInProc速度が向上し、オブジェクトの取得が高速化されます。
まとめ
要約すると、ブログから学んだことは、 NCache ラッパーを使用すると、全体を移行できます Redis アプリケーションへ NCache 一連の簡単な手順に従います。 簡単に使用できます NCacheを使用するだけでの機能 NCache Redis コード変更のないラッパーと元のStackExchange。Redis API。 他にもたくさんあります によって提供される機能 NCache これにより、アプリケーションのパフォーマンスが向上し、必要なスケーラビリティを実現できます。
NCache 詳細 ダウンロード NCache エディションの比較