みなさん、こんにちは。私の名前はスレイマンです。このビデオでは、どのように使用できるかを見ていきます。 NCache ウェブアプリケーションでセッションデータを分散キャッシュに保存します。サンプルプロジェクトがあります。これは Jakarta ウェブセッションを使用しています。そして今のところ、セッションデータはメモリに保存されています。そこで、プラグインします。 NCache そして、セッションデータがどのように分散キャッシュ内に保存されるのかをご説明します。
それでは、まずこの図を見てみましょう。これは通常、 NCache エンタープライズ環境にデプロイされます。アプリケーション層(キャッシュクライアントとも呼ばれます)に注目してください。ここでクライアントアプリケーションが実行されます。次に、キャッシュクラスタで構成されるキャッシュ専用の層があります。そして最後に、その下にデータベース層があります。
それでは、セットアップから始めましょう。まず、私が用意したサンプルプロジェクトを見てみましょう。ここにあるのが推測ゲームクラスです。簡単に言うと、ユーザーは0から100までの数字を推測する必要があります。つまり、0から100までのランダムな数字を推測するということです。推測ゲーム内では、推測の履歴も保存していることがわかります。
index.jspページを見てみましょう。ここでは、推測ゲームオブジェクト全体をセッション属性として保存および取得していることに気づくでしょう。このJSPページに他に何が表示されているかを見ると、試行履歴、最後の推測、以前の試行が表示されていることがわかります。つまり、これらもすべてセッション属性として取得されています。
web.xml ファイル内には、フィルターが定義されていないことがわかります。そのため、 NCache セットアップでは、ここでフィルターを定義する必要があります。もちろん、その方法はビデオで説明します。最後に、pom.xml ファイルも見てみましょう。ご覧のとおり、これは .war ファイルとしてデプロイします。つまり、これを .war ファイルとしてデプロイし、Tomcat サーバーに接続して、アプリケーションを実行します。
さて、私たちのプロジェクトを見てきました。次に、 NCache 管理センターです。ご覧のとおり、demoCache という名前のキャッシュが既に設定されています。これは、Docker インスタンスにデプロイされた単一のサーバーノードです。次に、設定オプションもお見せします。シリアル化はバイナリに設定されていますが、JSON に設定することもできます。その他の設定はほとんど変更していません。
最後に、キャッシュデータが現在空であることを確認しておきたいと思います。ご覧のとおり、カウントはゼロになっています。まっさらな状態から始めます。
これを実際に設定するための最初のステップは、これを追加することです。 NCache セッションをプロジェクトに依存関係として追加します。では、次に、 NCache ウェブサイトで特定の依存関係を見つける場所をお見せします。 Java統合 セクションをクリックして、 ジャカルタセッションこれにより、Maven セントラルリポジトリにアクセスできます。artifactId は ncache-sessions、バージョンは 5.3.6 です。これを pom.xml ファイルに貼り付け、Maven の変更を同期すれば、依存関係がダウンロードされるはずです。ライブラリを確認すると、次のようになります。 NCache クライアント、 NCache 実行時、 NCache セッション。完璧です。
<dependency>
<groupId>com.alachisoft.ncache</groupId>
<artifactId>ncache-sessions</artifactId>
<version>5.3.6</version>
</dependency>
次のステップは、web.xml ファイル内にセッション フィルタを作成することです。web.xml ファイルとは何かご存知ない方のために説明すると、これは Web アプリケーションのデプロイメント記述子です。すべての HTTP リクエストがこのフィルタによってインターセプトされ、その後処理されるように、ここでこの単一のフィルタを定義する必要があります。 NCache コード。つまり、基本的には、セッションデータも分散キャッシュ内にこのように保存されます。そこで、web.xml ファイルのセッション設定の下に、このフィルターをそのまま貼り付けます。ここからコピーします。
<filter>
<filter-name>NCacheSessionProvider</filter-name>
<filter-class>com.alachisoft.ncache.web.session.NCacheSessionProvider</filter-class>
<init-param>
<description>configPath is used to load the client.ncconf and session.xml files.</description>
<param-name>configPath</param-name>
<param-value>C:\Program Files\NCache\config</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>NCacheSessionProvider</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
お気づきかと思いますが、こちらにも設定パスを指定しています。なので、私は自分の設定を NCache インストールフォルダ。もちろん、この構造は自由に設定できますが、私がこのようにしているのは、.warファイルとしてデプロイする場合、アプリケーションディレクトリ内に設定ファイルのパスを指定すると、それらのファイルを見つけるのが少し難しくなるためです。そのため、このビデオの分かりやすさを考慮して、外部に設定ファイルを用意しました。
それでは、次のステップとしてsession.xmlファイルを作成します。このファイルでは、キャッシュIDまたはキャッシュ名、タイムアウトセッションなどのキャッシュプロパティを定義します。Visual Studioを使用してこのファイルを今すぐ作成し、その構成をすばやくコピーします。ここに貼り付けます。
<servlet-session-config>
<cache id="demoCache"/>
<log log-props="log4j.properties"/>
<locking enable-session-locking="true" retries-count="2" retry-interval="500ms" lock-timeout="36000ms" empty-session-when-locked="false"/>
</servlet-session-config>
このファイルをsession.xmlと全く同じ名前で保存する必要があります。そして、そのファイルをすぐに取得して、私の NCache インストールディレクトリです。少々お待ちください。これで設定ファイルは完了です。
もう一つ設定ファイルが不足しています。それは、実際にclient.ncconfファイルを設定することです。ご覧のとおり、このファイルでキャッシュサーバーのIPアドレスとキャッシュプロパティ、追加のキャッシュプロパティを指定します。
<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" local-server-ip=""
enable-keep-alive="False" keep-alive-interval="30"/>
<cache id="demoCache" 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="info">
<server name="20.200.20.42"/>
</cache>
</configuration>
すでに持っているので NCache 私のマシンにインストールされていますが、通常、多くの場合、人々は持っていません NCache クライアントアプリケーションマシンにインストールされますが、外部にインストールされます。しかし、私の場合はインストール済みです。そのため、このファイルはプリロードされているはずです。どのようなものかお見せしましょう。client.ncconf を開くと、キャッシュサーバーの IP アドレスとともに demo cache が記載されていることがわかります。これがその内容です。
既に設定済みなので、このままにしておけば、この段階でアプリケーションをデプロイできるはずです。それでは、このアプリケーションをデプロイするには、まず以下を実行する必要があります。 mvn clean package アプリケーションディレクトリ内にあります。なので、読み込みが完了するまで待ちます。ターゲットフォルダを再確認すると、このファイルが作成されているはずです。次に、この.warファイルをTomcatのインストールディレクトリに貼り付けます。すでにゲームguessgame.warが存在するので、これを置き換えて新しいものを貼り付けます。これでTomcatサーバーを実行できるはずです。
つまり、私のTomcatサーバー内で、今まさにそこにいるのだと思います。はい、私は実行します .\startup.bat スクリプト。読み込み中みたいですね。なので、読み込み中に、私の NCache 統計情報。私がやりたいことは、これをlocalhostと並べて開くことです。クライアントが接続したことがわかります。つまり、アプリケーションはおそらく実行されています。ここでこのページを更新します。読み込まれたことがわかります。現時点では、最後の推測に気付きますが、試行履歴はありません。ここでランダムに推測を試みて、これがどのように動作するかを確認します。推測した数値は小さくなりました。別の推測を試してみましょう。これも小さくなっています。別の数値を試してみます。試行履歴が保存されていることに気付きます。これは、先ほどコードで示したセッション属性として保存されていたことに注意してください。キャッシュカウントも増加しています。ここでのカウント「1」が増加しています。これは、分散キャッシュに保存されているセッションデータです。
ご覧のとおり、ほぼすべてが期待どおりに動作しています。新しいタブでこれを素早く開いて、セッションデータが期待どおりに読み込まれることを確認したいと思います。完璧です。セッションデータがここに表示されています。すべて期待どおりに動作しています。
皆さん、デモンストレーションはこれで終わりです。 NCacheその機能や、お客様のアプリケーションへの組み込み方法についてご質問がございましたら、デモのご予約のため、弊社までご連絡ください。このビデオをご覧いただき、誠にありがとうございました。
©著作権 Alachisoft 2002 - . All rights reserved. NCache はダイヤテック株式会社の登録商標です。