皆さん、こんにちは。ショーンです。今日は、 NCache そしてASP.NET Core。実はとてもシンプルなプロセスで、一連の基本的な手順で実現できます。それでは早速始めましょう。
まずは典型的な展開 NCache のように見えるだろう。これは、典型的な展開がどのようになるかを表しています。アプリケーション層が上部、キャッシュ層が中央、データベース層が下部になります。これは、アプリケーションとともにキャッシュをアプリサーバー上でホストできる共有デプロイメントとしても見られますが、よりクリーンなアーキテクチャになるため、これの方が推奨されるアプローチです。
では、導入について理解できたので、統合に何が必要か見てみましょう。 NCache まずは環境設定から。それで、環境セットアップのために私は2つを持っています NCache サーバーにキャッシュが設定され、すぐに使用できるようになりました。今からそれをお見せします。そこで、まず、これから使用するこのアプリケーションを紹介します。これはサンプル アプリケーションであり、ここで見ることができる顧客アプリです。Web マネージャーを開くと、ここで設定されている 105 つのキャッシュ (106 と XNUMX でホストされているデータ キャッシュと参照キャッシュ) が表示されます。このデモ用に構成した XNUMX つのキャッシュ。彼らは出発する準備ができています。それでは、実際の手順に進んでいきます。
最初のステップは、 NCache アプリケーション内のSDK NuGetパッケージ。アプリケーションに戻ってNuGetパッケージを管理すると、最新バージョンの NCache SDK はすでにインストールされているので、ここで問題ありません。
次のステップに進み、 NCache アプリケーション内の名前空間。戻って、顧客リポジトリに移動します。ここでは、先に進んで追加するだけです。 Alachisoft.NCache。クライアントそして、この名前空間を追加すると赤い波線が消えます。これは、この名前空間が必要だったことを意味し、準備完了です。これを保存します。
そして、3 番目のステップとして、 NCache .ncconfファイルに構成を追加します。アプリケーションに戻ると、アプリケーション内にこのクライアントとconfig.ncconfファイルがあることがわかります。この時点で、これらのファイルを実際にどこから入手したのか疑問に思うかもしれません。これらのファイルは、 NCache SDKをインストールします。 NCache SDK または、NuGet パッケージを追加して、これらのファイルをアプリケーションに取り込みます。これで、これらのファイルの出所がわかったので、client.ncconf を見てみましょう。これを開くと、それぞれ 105 と 106 でホストされている「datacache」と「referencecache」のキャッシュ タグがあることがわかります。105 と 106 です。構成に移動すると、「refclientcache」が構成されていて、参照キャッシュと通信していることがわかります。これが InProc クライアント キャッシュです。次に、このクライアント キャッシュの利点と機能について詳しく説明します。 NCache クライアント キャッシュが提供しますが、これについては専用のビデオが用意されているので、ぜひ確認することをお勧めします。
<?xml version="1.0" encoding="UTF-8"?><configuration>
<ncache-server connection-retries="3" retry-connection-delay="0" retry-interval="1" command-retries="3" command-retry-interval="0.1" client-request-timeout="90" connection-timeout="5" port="9800"/>
<cache id="data" client-cache-id="" client-cache-syncmode="optimistic" skip-client-cache-if-unavailable="True" reconnect-client-cache-interval="10" default-readthru-provider="" default-writethru-provider="" load-balance="False" enable-client-logs="False" log-level="error">
<server name="20.200.16.105"/>
<server name="20.200.16.106"/>
</cache>
<cache id="reference" client-cache-id="refclientcache" client-cache-syncmode="optimistic" skip-client-cache-if-unavailable="True" reconnect-client-cache-interval="10" default-readthru-provider="" default-writethru-provider="" load-balance="True" enable-client-logs="False" log-level="error">
<server name="20.200.16.105"/>
<server name="20.200.16.106"/>
</cache>
</configuration>
とにかく、これで完了です。次のステップに進み、既存のメソッドに基本的な操作を実装します。ここに顧客リポジトリ クラスがあり、ここにキャッシュ メソッドが定義されています。
//Constructor With Caching
public CustomerRepository(string connectionString, string data_cache, string ref_cache) {
_connectionString = connectionString;
if (_data_cache == null) {
_data_cache = CacheManager.GetCache(data_cache);
Console.WriteLine($ "Connected to {data_cache}");
}
if (ref_cache == null) {
_ref_cache = CacheManager.GetCache(ref_cache);
Console.WriteLine($ "Connected to {ref_cache}");
}
}
したがって、キャッシュ ハンドルの実際の取得から始める場合は、この CacheManager.GetCache を data_cache と _ref_cache に使用して実行します。したがって、このアプリケーションではデータと参照キャッシュの両方に接続していることがわかります。
次に、_data_cache.Getを使用してIDで顧客を取得します。
public Customer GetCustomerById(string id) {
Customer customer = null;
if (_data_cache != null) {
customer = _data_cache.Get <Customer> ($ "Customer:{id}");
if (customer != null) {
return customer;
}
}
if (_ref_cache != null) {
customer = _ref_cache.Get <Customer> ($ "Customer:{id}");
if (customer != null) {
return customer;
}
}
//Fetch customer from DB
...
//Add customer to reference cache
_ref_cache.Add($ "Customer:{customer.CustomerID}", customer);
customerKeys.Add($ "Customer:{customer.CustomerID}");
return customer;
}
次の方法は、実際には顧客をキャッシュに追加することです。この顧客を _data_cache に追加します。つまり、_data_cache と言います。この顧客キーとこの顧客を追加して、そのキーと値のペアをキャッシュに追加します。
if (_data_cache != null) {
if (_data_cache.Get <Customer> ($ "Customer:{customer.CustomerID}") == null) {
Console.WriteLine($ "Adding customer {customer.CustomerID} in data cache");
_data_cache.Add($ "Customer:{customer.CustomerID}", customer);
customerKeys.Add($ "Customer:{customer.CustomerID}");
} else {
Console.WriteLine($ "Customer {customer.CustomerID} already exists in data cache.");
}
}
そして、同じ方法で、他のすべてのメソッドが機能するように定義しました。ということで、ここはこれでいいです。
最後のステップは、実際にアプリケーションをデプロイすることです。これを 2 つの方法で実行します。
NuGetを使用したデプロイメント
このアプリケーションをデプロイする最初の方法は、これまでの構成方法である NuGet パッケージのみを使用してアプリケーションをデプロイすることです。これをどのように行うかを見てみましょう。
すでにこのアプリケーションがデプロイされた構成の Web サーバーがあり、それが 104 ボックスです。104 ボックスに移動すると、NuGet サイトがここにあることがわかります。これを参照または探索してみると、client.ncconf があることがわかります。このファイルを開くと、「datacache」タグと「referencecache」タグの両方がそれぞれ 105 と 106 を指していることがわかります。これで正しいようです。
config.ncconf に移動すると、ここで「refclientcache」が「ReferenceCache」を指していることがわかります。これは、これでも問題ないようです。これらすべてがうまくいっているように見えるので、このアプリはすでにデプロイされています。では、このアプリを見てみましょう。ということで、104いいねへ。したがって、この NuGet Only CustomerApp がデプロイされていることがわかります。次に、顧客を追加しましょう。ここに顧客を追加すると、顧客数が 92 に達したことがわかります。つまり、このアプリケーションでは何かを実行しました。
ここで、このアプリケーションに対してクラスター化キャッシュが何を示しているかを見てみましょう。そこで、ここで参照キャッシュ モニターも開きます。参照キャッシュには 91 人の顧客が表示されるはずです。これは、最初にロードしたときの顧客の数であり、実際に 91、40 + 51 と表示されるためです。それは 91 です。そして、データ キャッシュには 1 人の顧客が表示されるはずですが、実際にはこれが追加したばかりの顧客です。
では、この顧客を削除してみましょう。この顧客を探して削除します。これで削除できました。データ キャッシュに戻ると、顧客数は 91 で、顧客数が 1 から XNUMX に減っています。このアプリケーションは動作しており、これがこのアプリケーションを展開する XNUMX つの方法です。
リモートクライアントを使用したデプロイメント
さて、このアプリケーションを展開するもう一つの方法は、 NCache リモートクライアント。これがどのように機能するか見ていきましょう。このために別のボックス(103ボックス)を設定しました。今からそこへ移動します。ここには、アプリケーションのConfigBasedバージョンが保存されています。ConfigBasedと名付けたのは、実際に構成を使用するからです。 NCache このボックスに与える管理。したがって、ご覧のとおり、アプリケーション内には client ファイルや config.ncconf ファイルがありません。つまり、このアプリは動作しないはずですよね?さて、実際に実行すると 取得する-NCache PowerShellを見ると、このマシンにEnterprise Remote Clientがインストールされていることがわかります。
それでは、このマシンをクライアントノードとしてクラスタ化されたキャッシュに追加してみましょう。 NCache 管理センターに戻ります。マネージャーに戻って、参照キャッシュの詳細の表示をクリックします。下にスクロールすると、103がすでに追加されていて、クライアントキャッシュが設定されていることがわかります。これはReferenceClientCacheです。これはOutProcクライアントキャッシュで、 NCache リモートクライアント。データキャッシュを確認すると、103もクライアントとして設定されていることがわかります。
103に戻って、 NCache インストール ディレクトリに移動し、構成ファイルでこれらの構成を確認してください。したがって、プログラムファイルにアクセスすると、 > NCache > config と client.ncconf を見ると、ここに datacache タグがあり、ここに referencecache タグがあることがわかります。config.ncconf では、参照クライアント キャッシュ タグが参照キャッシュを指していることがわかります。つまり、すべて問題ないようです。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<ncache-server connection-retries="3" retry-connection-delay="0" retry-interval="1" command-retries="3" command-retry-interval="0.1" client-request-timeout="90" connection-timeout="5" port="9800"/>
<cache id="data" client-cache-id="" client-cache-syncmode="optimistic" skip-client-cache-if-unavailable="True" reconnect-client-cache-interval="10" default-readthru-provider="" default-writethru-provider="" load-balance="False" enable-client-logs="False" log-level="error">
<server name="20.200.16.105"/>
<server name="20.200.16.106"/>
</cache>
<cache id="reference" client-cache-id="refclientcache" client-cache-syncmode="optimistic" skip-client-cache-if-unavailable="True" reconnect-client-cache-interval="10" default-readthru-provider="" default-writethru-provider="" load-balance="True" enable-client-logs="False" log-level="error">
<server name="20.200.16.105"/>
<server name="20.200.16.106"/>
</cache>
<cache id="refclientcache" client-cache-id="" client-cache-syncmode="optimistic" skip-client-cache-if-unavailable="True" reconnect-client-cache-interval="10" default-readthru-provider="" default-writethru-provider="" load-balance="True" enable-client-logs="False" log-level="error">
<server name="20.200.16.103"/>
</cache>
</configuration>
そして、このアプリケーションはすでにデプロイされているので、ここでこれを閉じて、実際にブラウザでこの Web サイトを開いてみましょう。したがって、ブラウザでこのタブを開いていると、上部に 103 人が表示され、ここに 91 人の顧客が表示されます。このアプリはすでに動作しているので、ここから顧客を追加してみましょう。そこで、その顧客を再度追加して、データ キャッシュに戻りましょう。それで終わりです。その顧客が再びキャッシュに追加され、そこでアクティビティが確認されていることがわかります。そして、これはこのアプリケーションをデプロイできるもう XNUMX つの方法です。
これは、作業および使用できる 2 つの方法をほぼ要約したものです。 NCache ASP.NET Coreで作成し、既存のASP.NET Coreアプリケーションに統合します。
これを自分で試してみたい場合は、 30日間の無料トライアルをダウンロード of NCache 当社のウェブサイトからエンタープライズ版とプロフェッショナル版をご購入いただくと、完全に動作する製品をお試しいただけます。これにより、すべての機能セットを試すことができます。 NCache 制限はありません。では、alachisoft.comにアクセスしてダウンロードページに行くと、ダウンロードするためのオプションがあることがわかります。 NCache ここから。を試すこともできます NCache プレイグラウンド サンドボックスセッションと定義済みのサンプルが用意されており、この「プレイグラウンドを試す」ボタンをクリックして試すことができます。最後に、パーソナライズされたセッションをスケジュールできます。 NCache デモでは、1時間の技術ダンプをマップに提供します NCache ユースケースに合わせて変更してください。リソース > デモを予約 そして、ここにあるフォームに必要事項を記入して送信していただければ、すぐにデモのスケジュールを設定させていただきます。
これで今回のデモンストレーションはほぼ終了です。ご視聴いただきありがとうございました。ASP.NET Core アプリケーションが動作するようになることを願っています。 NCache このビデオを見た後。見てくれて本当にありがとう、お大事に、さようなら。
©著作権 Alachisoft 2002 - . All rights reserved. NCache はダイヤテック株式会社の登録商標です。