3.4. 永続キャッシュストア


Data Grid 7.x と比較すると、Data Grid 8 のキャッシュストア設定にいくつかの変更があります。

永続性 SPI

Data Grid 8.1 では、キャッシュストア用の NonBlockingStore インターフェイスが導入されています。NonBlockingStore SPI は、呼び出し元のスレッドをブロックしてはならないメソッドを公開します。

データグリッドを永続データソースに接続するキャッシュストアは、NonBlockingStore インターフェイスを実装します。

ブロッキング操作を使用するカスタムキャッシュストア実装の場合、Data Grid は それらの操作を処理するための BlockingManager ユーティリティークラスを提供します。

NonBlockingStore インターフェイスの導入により、以下のインターフェイスは非推奨になります。

  • CacheLoader
  • CacheWriter
  • AdvancedCacheLoader
  • AdvancedCacheWriter

カスタムキャッシュストア

Data Grid 8 では、以前のバージョンと同様に、store 要素を使用してカスタムキャッシュストアを設定できます。

次の変更が適用されます。

  • singleton 属性が削除されます。代わりに shared=true を使用してください。
  • segmented 属性が追加され、デフォルトで true になります。

セグメント化されたキャッシュストア

Data Grid 8 の時点で、キャッシュストア設定はデフォルトで segmented="true" になり、次のキャッシュストア要素に適用されます。

  • store
  • file-store
  • string-keyed-jdbc-store
  • jpa-store
  • remote-store
  • rocksdb-store
  • soft-index-file-store

単一ファイルキャッシュストア

シングルファイルキャッシュストアの relative-to 属性は、Data Grid 8 削除されています。キャッシュストア設定にこの属性が含まれている場合、Data Grid はそれを無視し、path 属性のみを使用してストアの場所を設定します。

JDBC キャッシュストア

JDBC キャッシュストアには、xlmns 名前空間宣言を含める必要があります。これは一部の Data Grid 7.x バージョンでは必要ありませんでした。

<persistence>
  <string-keyed-jdbc-store xmlns="urn:infinispan:config:store:jdbc:11.0" shared="true">
   ...
</persistence>
JDBC 接続ファクトリー

Data Grid 7.x JDBC キャッシュストアは、次の ConnectionFactory 実装を使用してデータベース接続を取得できます。

  • ManagedConnectionFactory
  • SimpleConnectionFactory
  • PooledConnectionFactory

Data Grid 8 は、Red Hat JBoss EAP と同じ Agroal に基づく接続ファクトリーを使用してデータベースに接続するようになりました。c3p0.properties および hikari.properties ファイルを使用できなくなりました。

セグメンテーション

今デフォルトでセグメンテーションを可能に JDBC 文字列ベースのキャッシュストアの設定は、次のプログラムの例のように 、segmentColumnNamesegmentColumnType パラメーターを含める必要があります。

MySQL の例

builder.table()
       .tableNamePrefix("ISPN")
       .idColumnName("ID_COLUMN").idColumnType(“VARCHAR(255)”)
       .dataColumnName("DATA_COLUMN").dataColumnType(“VARBINARY(1000)”)
       .timestampColumnName("TIMESTAMP_COLUMN").timestampColumnType(“BIGINT”)
       .segmentColumnName("SEGMENT_COLUMN").segmentColumnType("INTEGER")

PostgreSQL Example

builder.table()
       .tableNamePrefix("ISPN")
       .idColumnName("ID_COLUMN").idColumnType(“VARCHAR(255)”)
       .dataColumnName("DATA_COLUMN").dataColumnType(“BYTEA”)
       .timestampColumnName("TIMESTAMP_COLUMN").timestampColumnType("BIGINT”)
       .segmentColumnName("SEGMENT_COLUMN").segmentColumnType("INTEGER");

ライトビハインド

Write Behind モードの thread-pool-size 属性は、Data Grid 8 で削除されています。

キャッシュストアとローダーの削除

Data Grid 7.3 は、Data Grid 8 で使用できなくなった次のキャッシュストアとローダーを非推奨にします。

  • Cassandra キャッシュストア
  • REST キャッシュストア
  • LevelDB キャッシュストア
  • CLI キャッシュローダー

キャッシュストアマイグレーター

以前のバージョンのデータグリッドのキャッシュストアは、データグリッド 8 と互換性のないバイナリー形式でデータを保存します。

StoreMigrator ユーティリティーを使用して、永続キャッシュストア内のデータを Data Grid 8 に移行します。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.