2017-08-31 10 views
0

たとえば、IgniteのScanQueryオブジェクトを使用して、エントリのローカルキャッシュのみを照会することができます。このよう :ローカルバックアップエントリのみのApache Igniteのキャッシュの照会

ScanQuery<Object, Object> qry = new ScanQuery<>() 
        .setLocal(true); 

我々はcacheConfiguration.setBackups(1)でキャッシュを持っている場合今、 がローカルノードに格納されている唯一のバックアップエントリを照会する方法はありますか?

それは、私は本当に、そのsetPageSize方法のために、ここでScanQueryが必要になり、私たちは

igniteCache.localEntries(CachePeekMode.BACKUP); 

を使用する場合に可能である。しかし。

答えて

1

それは、私はあなたがこのような場合のために

igniteCache.localEntries(CachePeekMode.BACKUP)

を使うべきだと思う、唯一のバックアップからローカル・ノード上のScanQueryを使用することはできませんので。

ところで、あなたのユースケースは何ですか?たぶん私はあなたのために何かをお勧めすることができます。

+0

こんにちはEvgenii、ありがとうございます。 'igniteCache.localEntries'が唯一の方法であることは間違いありません。 ここでは、オフヒープモード+ Igniteのネイティブ永続ストレージを使用しています。しかし、我々は、特定のキャッシュのためにノードに格納されているすべてのローカルエントリ(プライマリとバックアップ)を "アーカイブ"し、ファイルに保存することを可能にしたいと考えています。 'igniteCache.localEntries'の問題は、' Iterable を返す 'igniteCache.localEntries'を呼び出すことによって、ローカルキャッシュからのエントリがヒープに"転送 "されるかどうかわかりません。 Entry > ' – Kristoff

+0

両方の場合、ScanQueryとigniteCache.localEntriesを使用すると、エントリはオフヒープからヒープに転送されます –

+0

ありがとう、ありがとう。 'ScanQuery'を使うと、正しい場合にバッチで実行できます。 _pageSize_属性を持つ[IgniteUserList](http://apache-ignite-users.70518.x6.nabble.com/Pagination-to-fetch-complete-Cache-data-td3071.html#a6370)の最新投稿によると、 'これは、クライアントが古いものを破棄するページの行をフェッチするので、同時にローカル・メモリーに10行以上あることはないということです.'バックアップ・エントリも照会できればいいですか? – Kristoff

関連する問題