最近のアクセス:
ページ
履歴
バックリンク
GeneXus アプリケーションの分散キャッシュ
GeneXus では、インメモリキャッシュからデータを取得し、Web アプリケーション
(1)
と小型デバイスアプリケーション
(2)
の両方へ渡すことができます。それでは、分散環境やクラウドでアプリケーションを実行している場合にはどうなるでしょうか?
分散環境では、アプリケーションサーバーのローカルキャッシュは役に立ちません。この場合、キャッシュした情報の有効性を保証するために、メモリ オブジェクト キャッシュ システムが必要です。
このシナリオのソリューション (主に、クラウドまたはクラスター環境で実行されるアプリケーション) は、分散キャッシュを使用します。
分散キャッシュでの GeneXus の実装
分散環境では、GeneXus アプリケーションを実行時に設定し、
GeneXus の ResultSet キャッシュ処理
や
スマートデバイスのキャッシュ処理
でも、
Redis
や
Memcached
を使用できます。
GeneXus の分散 ResultSet キャッシュ処理
と
スマートデバイスの分散キャッシュ処理
を読んで、キャッシュの動作を理解してください。
GeneXus で分散キャッシュを設定する方法
まず、GeneXus でキャッシュを設定します。これは、サーバーのローカルキャッシュを設定する要領で行います (1)、(2)。
分散キャッシュを設定するには、
[ Cache Provider ] プロパティ
を使用します。
注: キャッシュとは、メモリ内のキーと値を格納する領域です。キーと値のペアはアプリケーションのプラットフォームによって異なります。SD アプリケーションでは、キーはデータベーステーブル、値は テーブルの 更新日を表す タイムスタンプです。Web および Web サービスでは、キーは、クエリとそのパラメーター、値はこのクエリの結果セットです。
サーバーとクライアントの設定
サーバーには、Memcached または Redis の実装をインストールする必要があります。たとえば、
AWS ElastiCache
をインストールします。
クライアントマシンで、対応する API の実装を、Java の場合は classpath で参照し、C# の場合は Web アプリケーションの bin ディレクトリーに含める必要があります。
例
1.C# と Memcached を使用する場合
まず、
BeITMemcached
クライアントの DLL が bin ディレクトリーにコピーされていることを確認します。
さらに、
Memcached for Windows
サーバーをダウンロードします。
[ Cache Provider ] プロパティ
、
[ Cache Location ] プロパティ
、(さらに、必要に応じて
[ Cache UserName ] プロパティ
と
[ Cache Password ] プロパティ
) を設定します。
2.C# と Redis を使用する場合
Redis
サーバーをダウンロードし、サービスとして Windows にインストールします。
この例では、
ServiceStack
クライアントを使用します。
[ Cache Provider ] プロパティ
、
[ Cache Location ] プロパティ
、(さらに、必要に応じて
[ Cache UserName ] プロパティ
と
[ Cache Password ] プロパティ
) を設定します。
ライセンスに関する注記:
SAC #40283
を参照してください。
手順 3 -Java と Memcached を使用する場合
spymemcached-2.10.3.jar -
spy memcached
jar ファイルをダウンロードし、Web アプリケーションの lib ディレクトリーにコピーします。
分散キャッシュ処理を無効化する方法
プログラムによって実現できます。
Cache API
を参照してください。
注:
当面の間、この機能は次の組み合わせでサポートされます。
JAVA - Memcached - 認証がサポートされています
.NET - Memcached - 認証はサポートされていません
.NET - Redis - 認証がサポートされています
参考情報
(1)
[ Database access caching ] プロパティ
(2)
スマートデバイスのキャッシュ処理
(3)
スマートデバイスの分散キャッシュ処理
(4)
GeneXus の分散 ResultSet キャッシュ処理
(5)
Cache API