2016-07-25 8 views
1

私はIgniteの初心者ですので、私はいくつかのパズルを持っています。そのうちの1つは次のとおりです。キャッシュをクエリしようとすると、メモリが含まれているかどうかを調べることができます。もしそうでなければ、データベースに問い合わせるかどうか?そうでない場合、そのような方法を達成する方法は? ご存知の方はお手伝いください。Ignite CacheStore以上のSqlクエリ

答えて

3

クエリはメモリ内データのみを処理します。キーアクセス(get()getAll()などの操作)を使用して、永続ストアからの自動リードスルーを使用するか、クエリを実行する前に手動でデータをプリロードすることができます。大きなデータセットをキャッシュに効率的にロードする方法については、https://apacheignite.readme.io/docs/data-loading

+0

Thx、Valentin.私はリードスルーをtrueに設定していますが、適用されていないようです。なぜですか? –

+0

実際には、私のキャッシュにidが5より小さいPersonを格納していて、idが6より小さいPersonを照会したいのですが、見ての通り、idがPersonであるPersonはキャッシュされません。 5! Igniteがデータベースから自動的にNo.5を取得するかどうか。そうでない場合、No.5 Personを取得する方法は? –

+0

クエリーは、データベースから自動的に読み込むために、クエリーの実行時にわからないキーセット(ID <6などのいくつかの基準のみがわかっている)を知る必要があるため、リードスルーをサポートしていません。しかし、クエリを実行する前に、必要なすべてのデータがキャッシュに格納されていることを確認する必要があります。一方、このIDに対して 'get()'操作を実行すると、エントリは自動的にデータベースからロードされます。 –

関連する問題